本文继续上面的 spring核心:bean工厂的装配系列。主要包含:

3.使用构造函数创建bean

4.使用静态工厂方法创建bean

5.使用非静态工厂方法创建bean

6.bean的标识符

3.使用构造函数创建bean

<bean id="supplier" class="getstart.MessageSupplier"> </bean>

这就相当于spring new出这个对象,这里的bean没有必要是javabean的形式。对于这种形式bean必须存在默认的构造函数,否则报错:

Could not instantiate bean class [beanfactory.SimpleBean]: No default constructor found; nested exception is java.lang.NoSuchMethodException: beanfactory.SimpleBean.<init>()

4.使用静态工厂方法创建bean

这里所指的静态是指“方法是静态的”。这是bean定义中的class就是这个包含静态方法的类。spring调用这个类的静态方法来产生这个类。

/** * */ package beanfactory; /** * @author jefferyxu * */ public class LegacySingleton { private static LegacySingleton instance = null; private LegacySingleton() { } public static LegacySingleton getInstance() { if(null == instance) { instance = new LegacySingleton(); } return instance; } public String toString() { return "i am made by the static class."; } }

<bean id="legacyBean" class="beanfactory.LegacySingleton" factory-method="getInstance" abstract="false" lazy-init="default" autowire="default"> </bean>

在myeclipse可以这么添加:

5.使用非静态工厂方法创建bean

首先添加bean factory  bean:

创建bean :

生成代码如下:

<bean id="legacyFactory" class="beanfactory.instancefactory.ConcreteLegacyFactory"> </bean> <bean id="productBean" factory-method="make" factory-bean="legacyFactory" > </bean>

6.bean的标识符

每个bean可以有一个或者是多个id,如果是多个的话,那么spring会认为其他都是第一个id的别名。可以使用getAliases方法得到所有的别名。

上面中出现的问题:

Attribute 'dependency-check' is not allowed to appear in element 'bean'.

这个主要是spring版本的问题:the dependency-check and default-dependency-check elements have been removed in Spring 3.0 hence your validation errors.(http://forum.springsource.org/showthread.php?t=77584)

转载于:https://www.cnblogs.com/xuqiang/archive/2010/10/16/1953460.html

spring核心:bean工厂的装配 2相关推荐

  1. spring核心:bean工厂的装配 1

    本文中主要包含spring中bean工厂的相关知识.主要包含一下话题: 1.bean factory getstart初时bean工厂 2.bean基础定义 3.使用构造函数创建bean 4.使用静态 ...

  2. Spring之Bean的自动装配

    Spring从入门到精通–(4)Spring之Bean的自动装配 作者:进击攻城狮 个人主页:欢迎访问我的主页 首发时间:2022年8月5日星期五 订阅专栏:Spring入门到精通 个人信条:星光不问 ...

  3. spring核心:bean工厂的装配 6

    本文中主要包含: 23.使用后台处理器post-processor 1.使用BeanPostProcessor 如果向一个bean factory注册post-processor的话,那么对于这个工厂 ...

  4. Spring之 Bean的自动装配

    什么是Spring Bean的自动装配? 自动装配是Spring满足bean依赖一种方式 Spring会在上下文种自动寻找,并自动给bean装配属性 Spring种有三种装配方式 1.在xml种显示配 ...

  5. 详解Spring中Bean的自动装配~

    目录 1. 环境搭建 2. byName.byType 3. 使用注解实现自动装配 @Autowired @Resource 小结 自动装配是Spring满足bean依赖的一种方式 Spring会在上 ...

  6. 通过实例理解Spring的Bean工厂和AOP框架

    一.需求设想 现在我有一个配置文件,里面配置了Bean的相关信息,如bean的类名(包括包名).代理工厂(主要负责产生代理类).目标类(被代理的类).业务织入接口(Advice).然后通过BeanFa ...

  7. spring核心:bean工厂的装配 3

    本文中主要包含下面的几个内容: 7.何时使用singleton 8.设置bean的属性和协作者 9.bean构造函数选择决议 10.自动装配 11.依赖检查 7.何时使用singleton 如果bea ...

  8. Spring核心——Bean的依赖注入

    依赖注入 在设计模式与IoC这篇文章中,介绍了Spring基础的三大支柱的两项内容--IoC.Bean.本篇将继续围绕着Bean的创建时的注入方式来介绍Spring的核心思想与设计模式. 天底下所有面 ...

  9. Spring核心——Bean的生命周期

    文章目录 序言 一:Bean生命周期流程图 二:测试方法以及步骤 1.创建一个bean 2.创建BeanFactoryPostProcessor 的实现实例 3.创建InstantiationAwar ...

最新文章

  1. sql 多行转成一行
  2. 【转载】[Windows 8]Hello Windows 8 - Windows 8 Developer Preview搶先預覽
  3. [转]使用jQuery.ajax傳送物件陣列給ASP.NET MVC
  4. 安装软件the error code is 2203解决方法
  5. 移动开发工程师面试题集:Android iOS
  6. 【Python基础】Python基础语法14个知识点大串讲
  7. mac 抓包工具chares破解
  8. 线段 LibreOJ - 10007(贪心)
  9. Maven 仓库使用与私有仓库搭建
  10. C++安全方向:openssl,剧场版,一个字节多少位
  11. kindle阅读订阅的google reader时,词典不能工作的修正
  12. PB调用WebService
  13. 地图瓦片坐标系定义及计算原理
  14. QT 即时聊天软件(一)
  15. WPF界面设计工具---Blend学习(一)
  16. 深度解析:CPU与GPU有什么区别?xPU又是什么鬼?
  17. 物联16:4 ISO/IEC 14443-3 防冲突、防碰撞算法、Type A、Type B
  18. windows自带截图工具快捷方法
  19. 【翻译】揭开HTML5的神秘面纱
  20. wtc java 代码 tpcall(servicename_[转载]Dorado+Spring+Wtc+Tuxedo开发

热门文章

  1. 2018厦门大学计算机技术分数线,厦大录取分数线2018 各省最新录取情况
  2. csh sum算总和_如何在R中使用sum()–在R中查找元素的总和
  3. java数组包含某个值_如何检查Java数组是否包含值?
  4. Hibernate本机SQL查询示例
  5. 根据应用场景人工智能技术有哪些分类?
  6. 数据结构【图】—023邻接表深度和广度遍历
  7. JAVA基础知识|进程与线程
  8. python 笔记 之 练习答案-ABCD乘以9=DCBA
  9. linux下rsync+sersync实现自动备份数据
  10. 浅析如何掌握了解SQL Server的锁机制