原理:
Spring的配置文件中记录了类的包路径,因此我们首先是要读入配置文件。在配置文件中Bean有id和class两个属性。
Spring底层会去解析xml文件,并将里面的bean获取出来,封装到一个Map中,同时还提供了getBean这个方法。
配置文件:
使用类构造器直接实例化(常用)
<bean id="userBean1" class="com.szy.spring.implbean.UserBean" />
使用静态工厂的方法实例化
<bean id="userBean2" class="com.szy.spring.factory.BeanFactory" factory-method="UserBeanService" />
使用实例工厂方法实例化
<bean id="factory" class="com.szy.spring.factory.BeanFactory" />
<bean id="userBean3" factory-bean="factory" factory-method="getUserBeanService" />
使用方法://读取配置文件
ApplicationContext =new ClassPathXmlApplicationContext("applicationContext.xml");
//获取UserBean的实例
PersonBean bean=(PersonBean)ctx.getBean("userBean");
使用注解类型:
如果使用前面的两种方法,配置文件将会显得很臃肿,因此我们可以使用注解的方式注入,使用注解方式注入有两种方法,
第一种使用javax.annotation.Resource中提供的注解方式方法如下:
@Resource默认是按照名称装配,找不到与名称匹配的bean时按类型装配
第二中方式就是使用spring提供的注解方式
org.springframework.beans.factory.annotation.Autowired;
@Autowired默认使用类型进行装配,
注释自动注入bean,不使用xml管理。
并把这些类纳入到spring容器中管理,它的作用和在xml中使用bean节点配置组件一样。要使用自动扫描机制,我们需要把配置文件如下配置
@service用于注解服务层;
@controller用于注解控制层;
@responsity用于注解dao;
@component用于注解不好分类的类
spring bean 管理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- org.springframework.beans.factory.UnsatisfiedDependencyEx...
- 我们在《spring源码阅读2-1——bean的管理》中,摸清了BeanFactory家族的整体框架和功能概览,本...