介绍
这篇文章主要讲解了春天如何装配bean内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
<强>一前言强>
在XML中进行显式配置。
在Java中进行显式配置。
隐式的bean发现机制和自动装配
关于XML配置不会在本篇说明,有兴趣的读者可以自行了解学习;
<强>二自动装配豆
强>
自动装配豆主要通过如下两个方式实现自动装备bean
- <李>组件扫描(组件扫描):春天会自动扫描发现上下文中所创建的bean;对应的Java配置@ComponentScan注解,其会默认会扫描与配置类相同的包和其子包,如果是XML就是& lt;上下文:component-scan> 李> <李>自动装配(自动装配):春天自动化管理豆之间的依赖关系;Java配置@Autowiring注解,相当于Java规范中的@ inject注解;其可以使用在任何类的任何方法上;不建议将要求属性设置为false,否则如果在bean未装配的情况下就会报空指针异常;李> <李> @ component注解:赋予弹簧上下文组件类一个ID,如果不指定值默认就是将类名的第一个字母变为小写形式,其相当于Java规范中的@ name注解;
李,>
敲黑板了:
理下思路我们可以通过@ component注解使用在多个类上实现多个bean,然后通过@Autowiring使用在方法上实现豆之间的依赖注入;最后通过@ComponentScan将所有豆扫入弹簧应用上下文;当然里面还有许多使用的小细节,要不然很容易出错;
实现如下
2.1棉被类
/* * * @Author lsc * & lt; p>棉被& lt;/p> */@ component 公共类被子{//质量 私人字符串质量; 公共空间的产品(){ System.out.println(“生产与中国“); }//省略设置/获取 }
2.2被单类
/* * * @Author lsc * & lt; p>被单& lt;/p> */@ component//相当于@ component (“sheet") 公共类表{//颜色 私人字符串的颜色;//长度 私人字符串长度; 私人拼布被子;//使用构造器注入方式将被子注入到表中,你也可以使用集方式;原则上还可以其它方法 公共表(拼布被子){ 这一点。被子=被子; }//省略设置/获取 }
2.3被单配置类
/* * * @Author lsc * & lt; p>被单配置类& lt;/p> */@ configuration//告诉春天这是一个配置类 @ComponentScan//这边的包是com.zszxz。汽车相当于@ComponentScan (basePackages={“com.zszxz.auto"}) 公开课SheetConfig { }
2.4测试类
/* * * @Author lsc * & lt; p>& lt;/p> */@RunWith (SpringJUnit4ClassRunner.class)//创建春应用上下文 @ContextConfiguration(类=SheetConfig.class)//加载配置类 公共类表{ @ autowired 表板; @Test 公共空表(){//生产与中国 sheet.getQuilt () . product (); } }
<强>三java配置
强>
java配置只需要通过如下注解即可完成,通常使用在引入第三方类时,
- <李> @ configuration注解:告诉春天这是一个配置类李> <李> @ bean注解:告诉春天这是一个bean,使用在方法上,默认bean的名称就是方法名也就是前面提到的bean的ID;
李,>
思路:@ configuration注解声明的配置类中使用注解@ bean,就实现了java配置;
3.1棉类
/* * * @Author lsc * & lt; p>棉& lt;/p> */公共类棉花{//质量 私人字符串质量; 公共空间的产品(){ System.out.println(“棉花生产与中国“); }//省略设置/获取 }
3.2毛毯
/* * * @Author lsc * & lt; p>毛毯& lt;/p> */公开课的毯子{//颜色 私人字符串的颜色;//长度 私人字符串长度;//构造器注入 私人棉花棉; @ autowired 公共毯子(棉花棉){ 这一点。棉花=棉; }//省略设置/获取 }
3.3毛毯配置类
/* * * @Author lsc * & lt; p>毛毯配置类& lt;/p> */@ configuration//告诉春天这是一个配置类,春天会扫描其所有配置纳入春容器 公开课BlanketConfig {//将棉花注入到春天应用上下文 @ bean 公共棉花棉(){ 返回新棉花(); }//将棉花注入到毯子注入到春天应用上下文 @ bean 公共毯毯(棉花棉){ 返回新毯子(棉); } }春如何装配bean