常用注解:
①Autowire
②Resource
③Value
④Component、Repository、Service、Controller
常规的注入方法
<bean id="son" class="pojo.Son" p:age="13" p:name="李二"/>
<bean id="student" class="pojo.Student" p:id="123" p:name="李二">
<property name="son" ref="son"/>
</bean>
在xml文件中使用autowire自动装配功能
①byName
<bean id="son" class="pojo.Son" p:age="13" p:name="李二"/>
<bean id="student" class="pojo.Student" p:id="123" p:name="李二" autowire="byName"/>
名字指的是set方法中后半段名字,不是属性的名字,如:属性名为name,但是如果set方法是setStudentName的话那么自动装配功能依据的是studentName
②byType
同理,根据类型来匹配,但是得确保beans容器中只有一个该类型的bean;
使用注解实现装配
注意:只用注解开发需要在spring配置文件中引入约束并开启注解支持,如下:
①@Autowire(参数required设置为false表示允许该属性为空)
根据名字自动装配,与上byName同理,使用@Value注解可以直接赋值:
②Resource
根据类型从容器中自动装配,与byType同理,使用方法与Autowire相似。
常用的注解开发
①@Component将一个类或接口注入到spring容器中,相当于一个bean
②@Repository、@Service、@Controller的作用与Component一样,只是习惯将他们分别作用在dao层、service层、controller层。
注意:使用以上注解开发时,必须要在spring配置文件中扫描对应的包,如下:(也可以直接扫描一个更大的包)
与@Value注解配合使用,就相当于上图注释掉的一个bean。