Spring学习 xml配置依赖注入

最近项目中也配了几遍ssh框架了,不过老出问题,还是Spring学的不到家,还好有黎活明老师的视频,决定有些地方再看一遍,复习一下,经典的东西,每看一遍都会有收获的。今天主要看了依赖注入

    1 基本类型对象注入有两种方式:1,通过构造器传递参数注入,2通过属性的setter方法注入。视频中举例:
<bean id="personService" class="cn.itcast.service.PersonServiceBean">
 <constructor-arg index=“0” type=“java.lang.String” value=“xxx”/>//构造器注入
 <property name=“name” value=“zhao/>//属性setter方法注入
</bean>

2 注入其他bean,方式一,在<property>中使用ref与其他bean对应
<bean id="personDao" class="cn.itcast.service.PersonDaoBean"/>
<bean id="personService" class="cn.itcast.service.PersonServiceBean">
 <property name="personDao" ref="personDao"/>
</bean>
<property>元素中name属性为bean中的属性名称,ref为要注入的bean中的id值
personService实例化时 通过ref=“personDao”得到PersonDaoBean的实例,然后赋给name=“personDao” 的属性。
方式二(使用内部bean,但该bean不能被其他bean使用)
<bean id="personService" class="cn.itcast.service.PersonServiceBean">
 <property name="personDao">
  <bean class="cn.itcast.service.PersonDaoBean"/>
 </property>
</bean>

3
  依赖注入的方式
使用属性setter方法注入
使用构造器注入
使用Field注入(注解方式)
  注入依赖对象可以采用手工装配或自动装配,在实际应用中建议使用手工装配,因为自动装配会产生未知情况,开发人员无法预见最终的装配结果。
 1.手工装配依赖对象
 2.自动装配依赖对象

手工装配依赖对象,在这种方式中又有两种编程方式
1. 在xml配置文件中,通过在bean节点下配置,如
<bean id="personService" class="cn.itcast.service.PersonServiceBean">
 <constructor-arg index=“0” type=“java.lang.String” value=“xxx”/>//构造器注入
 <property name=“name” value=“zhao/>//属性setter方法注入
</bean>
2. 在java代码中使用@Autowired或@Resource注解方式进行装配。但我们需要在xml配置文件中配置以下信息:
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">
          <context:annotation-config/>
</beans>
这个配置隐式注册了多个对注解进行解析处理的处理,使用注解时一定要加上他。器:AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,PersistenceAnnotationBeanPostProcessor,RequiredAnnotationBeanPostProcessor
      注: @Resource注解在spring安装目录的lib\j2ee\common-annotations.jar
不推荐使用@Autowired进行自动装配,以黎老师的经验,会出一些很难理解的问题

 

<script></script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值