spring自动装配(xml中)
spring自动装配bean有三种方式,xml,java类中使用@Bean注解以及@Autowired注解
- 而在xml中,通过设置bean标签的autowire属性的取值来进行bytype或者byname的装配
<bean id="cat" class="com.buendia.entity.Cat"></bean>
<bean id="dog" class="com.buendia.entity.Dog"></bean>
<!--
byname:会自动在容器上下文中查找,和自己对象set方法后边的值对应的beanid.
bytype:会自动在容器上下文中查找,和自己对象属性类型相同的bean.
-->
<bean id="people" class="com.buendia.entity.People" autowire="byType">
<property name="name" value="xxx"/>
</bean>
- byname的时候,必须保证所有bean的id是唯一的,并且这个bean要和自动注入的属性的setXxx()的Xxx一致
- bytype的时候,必须保证所有bean的class是唯一的,并且这个bean要和自动注入的属性的类型一致
注意:
使用注解开发spring时,需要导入context约束,并且配置注解的支持:context:annotation-config/
并且:记得指定要扫描的包,这个包下的注解就会生效<context:component-scan base-package=“com…”/>
科普:spring5.X,可以使用**@Nullable注解**,此时字段标记了这个注解,说明这个字段可以为null
以后会见到这样的场景:一个项目很大,采用多个module模块来多个人员开发,那么可能每个人都有主配置类,此时多个@Configuration配置类整合:在类上使用@Import注解:
@Import(WebCpnfig2.class)
即可引入