免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1320 | 回复: 0
打印 上一主题 下一主题

spring自动装配 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-31 13:28 |只看该作者 |倒序浏览
15.3.1自动装配
Spring支持自动装配的方式,也就是如果等待注入的对象所提供的属性,与Spring的配置中已经存在的Bean的定义之间有某种关联的话,就可以不用写<property>元素来手工实现依赖注入的装配了,而是改由Spring来自动装配。
Spring支持多种自动装配的策略:
byName:根据对象的属性名称来自动装配。简单点说,就是在Spring的配置中,按照对象属性的名称作为Bean的name来寻找定义的Bean,并自动装配。
byType:根据对象属性的类型作为Bean的类型来寻找定义的Bean,并自动装配。
constructor:类似于byType,不同的是它是应用于构造方法的参数。
autodetect:首先尝试使用constructor,然后尝试使用byType来自动装配。
这些Spring的知识,这里无需过多描述,只需要知道如何使用就可以了。把上面的示例修改一下,使用Spring的自动装配来实现。
主要是要修改applicationContext.xml文件,一是修改配置SampleServiceImpl类的bean的名称为“service”,也就是和SampleAction的“service”属性一样;其二是修改配置SampleAction类的bean的定义,要指定它按照byName的策略来自动装配,另外,原来手工装配“service”的属性的定义就不需要了。示例如下:

java代码:
查看复制到剪贴板打印
<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
        xmlnssi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="  
            http://www.springframework.org/schema/beans   
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
    <bean name="service" class="cn.javass.spring.SampleServiceImpl"/>  
      
    <bean name="sampleAction" class="cn.javass.spring.SampleAction" scope="prototype" autowire="byName">  
    </bean>  
</beans>  
去测试看看,运行一切正常,当然更多Spring的知识,这里就不去涉及了。
私塾在线网站原创
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP