发表于: 2017-03-10 19:53:06
1 1368
今天完成的事情:
学习spring依赖注入的几种方式、自动装配和annotation
明天计划的事情:
学习aop
遇到的问题:
构造函数是没有返回类型的。
收获:
1
依赖注入方式有两种,一个是利用构造函数(强依赖时使用),一个是利用setter方法(可选依赖时使用)
构造函数的application-context文件配置方法:
1.构造器注入
<bean id="" class="">
<constructor-arg>
<ref bean=""/>
</constructor-arg>
</bean>
2.常量注入
<bean id="" class="">
<constructor-org name="" value=""></constructor-org>
</bean>
3.map注入
<bean id="" class="">
<constructor-org>
<map>
<entry key="" value=""></entry>
</map>
</constructor-org>
</bean>
4.list/set注入
<bean id="" class="">
<constructor-org>
<list>
<value>red</value>
<value>13</value>
</list>
</constructor-org>
</bean>
5.配置props注入
<bean id="" class="">
<constructor-org>
<props>
<prop key="color">red</prop>
<prop key="size">12</prop>
</props>
</constructor-org>
</bean>
6.加载配置文件
在src/main/resources建立screw.properties文件,文件内容为color=black,
<bean id="ScrewProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:screw.properties"/>
</bean>
<bean id="ScrewHelper" class="screwDriver.ScrewHelper">
<constructor-arg name="color" value="${color}"></constructor-arg>
</bean>
setter方法的application-context文件配置方法:
<bean id ="" class="">
<property name="" ref="" />
</bean>
2
自动装配(Autowiring)
在bean属性中加入 autowire="" (可以是byName,byType,constructor)
3
在application-context.xml加入<context:component-scan base-package=""/>可以实现annotation:
@Component 定义bean
@Value properties注入
@Autowired @Resource 自动装配依赖
@PostConstruct @PreDestroy 生命周期回调
评论