Spring入门——Bean的自动装配(Autowring)
来源:互联网 发布:windows搭建服务器 编辑:程序博客网 时间:2024/05/16 02:44
Bean的自动装配(Autowiring)
No:不做任何操作
byname:根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配
byType:如果容器中存在一个与指定属性类型相同的bean,那么将该属性自动装配;如果存在多个该类型的Bean,那么抛出异常,并指出不能使用byType方式进行自动装配;如果没有找到相匹配的bean,则什么事都不发生
Constructor:与byType方式类似,不同之处在于它应用于构造参数。如果容器中没有找到与构造器参数类型一致的Bean,那么抛出异常
ByName例子:
AutoWiringDAO类
package com.txr.AutoWiring;public class AutoWiringDAO {public void say(String word){System.out.println("AutoWiringDAO :"+word);}}AutoWiringService
package com.txr.AutoWiring;public class AutoWiringService {private AutoWiringDAO autoWiringDAO;public void setAutoWiringDAO(AutoWiringDAO autoWiringDAO) {this.autoWiringDAO = autoWiringDAO;}public void say(String word){autoWiringDAO.say(word);}}
配置文件
<?xml version="1.0" encoding="UTF-8"?><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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"default-autowire="byName"><bean id="autoWiringService" class="com.txr.AutoWiring.AutoWiringService"/><bean id="autoWiringDAO" class="com.txr.AutoWiring.AutoWiringDAO"/></beans>
测试文件
package AutoWiring;import org.junit.Before;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.txr.AutoWiring.AutoWiringService;public class TestAutoWiring {private ApplicationContext context=null;@Beforepublic void init(){context=new ClassPathXmlApplicationContext("com/txr/resource/spring-ioc.xml");}@Testpublic void TestByName(){AutoWiringService autoWiringService=(AutoWiringService) context.getBean("autoWiringService");autoWiringService.say("this is test");}}
测试结果
AutoWiringDAO :this is test
例子ByType
配置文件改一下将
default-autowire="byName"
改为
default-autowire="byType"
测试结果一样
例子Constructor
将配置中 default-autowire="byName"改为default-autowire="constructor"
然后在Service添加构造方法
public AutoWiringService(AutoWiringDAO autoWiringDAO) {System.out.println("AutoWiringService");this.autoWiringDAO = autoWiringDAO;}
测试结果一样
根据构造器装配是根据构造器的传入bean的类型去构造的
0 0
- Spring入门——Bean的自动装配(Autowring)
- 3、spring入门—Spring Bean的装配(上)
- 4、spring入门—Spring Bean的装配(下)
- Spring入门(Bean自动装配)
- Spring自动装配Bean的两种方法(—)
- 自动装配bean【Spring 入门】
- spring入门(8)--装配Bean之自动装配
- spring装配bean——自动装配bean
- Spring的IOC容器—Bean的自动装配
- Spring框架——bean自动装配
- spring基础-Bean的装配方式(三)自动装配
- Spring Bean的装配 -- 自动装配
- [Spring]Bean的自动装配
- # Spring Bean 的自动装配
- spring bean的自动装配
- spring bean的自动装配
- Spring的自动装配Bean
- Spring bean的自动装配
- 敬语表达方式一览
- aws scale up instance
- Linux使用sendmail邮件监控[运维监控]
- 最大子阵(dp)
- C语言:浅析指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- Spring入门——Bean的自动装配(Autowring)
- Android studio 加速
- LintCode 4 丑数II
- Linux操作笔记
- 独自饮酒无人知晓却对月笑
- php 字符串拼接
- 【精华分享】【Unity&NGUI】UI文章总览
- hive中order by,sort by, distribute by, cluster by作用以及用法
- CSS学习笔记12:伪类和超链接的美化