package com.atChina.Test5;public class Student {private String name;private int age;private School school;public Student(){System.out.println("无参数构造方法...");}public void setSchool(School school) {this.school = school;}public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", school=" + school+ "]";}
}
package com.atChina.Test5;public class School {private String address;private String name;public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "School [address=" + address + ", name=" + name + "]";}public void setName(String name) {this.name = name;}
}

引用类型的自动注入--byName

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引用Spring的多个Schema空间的格式定义文件 -->
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd "><!-- 引用类型的自动注入, 由框架给引用类型完成赋值,赋值的方式主要由byName,byType1. byName(按名称注入): java类中引用类型的属性名和spring容器(xml配置文件)中的<bean>的id名称一样,且数据类型是一样的,这样的bean对象能够赋值给引用类型指定byName自动注入<bean id="xx" class="yy" autowire="byName"></bean>--><bean id="student" class="com.atChina.Test5.Student" autowire="byName"><property name="name" value="宋江"/><property name="age" value="20" /><!-- <property name="school" ref="xuexiao"/>  --></bean><!-- id的值要与java类中的属性名一致 --><bean id="school" class="com.atChina.Test5.School"><property name="name" value="同济大学"/><property name="address" value="上海市" /></bean>
</beans>

引用类型的自动注入--byType

package com.atChina.Test6;public class PrimarySchool extends School {}
<?xml version="1.0" encoding="UTF-8"?>
<!-- 引用Spring的多个Schema空间的格式定义文件 -->
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd "><!-- 引用类型的自动注入, 由框架给引用类型完成赋值,赋值的方式主要由byName,byType1. byName(按名称注入): java类中引用类型的属性名和spring容器(xml配置文件)中的<bean>的id名称一样,且数据类型是一样的,这样的bean对象能够赋值给引用类型指定byName自动注入<bean id="xx" class="yy" autowire="byName"></bean>2. byType(按类型注入):java类中引用类型的数据类型和spring容器(xml配置文件)中的<bean>的class属性值是同源关系的,这样的bean可以赋值给引用类型同源关系的:1. java类中引用类型的数据类型和<bean>的class是一样的2. java类中引用类型的数据类型和<bean>的class是父类和子类的关系3  java类中引用类型的数据类型和<bean>的class是接口和实现类关系指定byType自动注入<bean id="xx" class="yy" autowire="byType"></bean>byType的自动注入注意的是,符合条件的对象只能有一个。--><bean id="student" class="com.atChina.Test6.Student" autowire="byType"><property name="name" value="吴用"/><property name="age" value="20" /><!-- <property name="school" ref="xuexiao"/>  --></bean><!-- <bean id="xuexiao" class="com.atChina.Test6.School"><property name="name" value="同济大学"/><property name="address" value="上海市" /></bean> --> <bean id="priSchool" class="com.atChina.Test6.PrimarySchool"><property name="name" value="实验小学"/><property name="address" value="上海市" /></bean>
</beans>

spring10: 引用类型的自动注入相关推荐

  1. 引用类型属性自动注入-byName,byType,多个配置文件

    引用类型属性自动注入 ​ 对于引用类型属性的注入,也可不在配置文件中显示的注入.可以通过为标签 设置 autowire 属性值,为引用类型属性进行隐式自动注入(默认是不自动注入引用类型属 性).根据自 ...

  2. Spring自动注入(引用类型)

    spring可以根据某些规则给引用类型完成赋值,只对引用类型有效.有两种方式实现自动注入,下面简单的介绍以下 1-ByName 按名称自动注入:Java类中引用类型的属性名称和spring容器中bea ...

  3. Spring中自动注入的两种方式

    目录 1. 前言 2. set注入和构造注入. 3. 什么情况下要使用自动注入? 4. 自动注入之byName 5. 自动注入之byType注入 1. 前言 Spring的核心技术IOC(Intoro ...

  4. autowired java_Java 基础之Autowired 是否是自动注入

    Java 基础之Autowired 是否是自动注入 相信很多人对Autowired 注解理解不深入,或者是认为此注解就是spring的自动注入.相信看完本篇文章,你会有更加不一样的理解. 首先我们先看 ...

  5. AOP通过开启注解方式自动注入值

    注解:EnableDimEnhance package com.comma.teeth.enhance.dim.annotation;import java.lang.annotation.Docum ...

  6. 剔除Intellij中Mybatis的Mapper自动注入警告

    起源 区别@Controller,@Service,@Repository,@Component 为什么建议构造器注入 Field injection: Constructor injection: ...

  7. 百行代码打造一个DI容器(支持瞬时生命周期、单利生命周期、构造函数自动注入、属性自动注入、字段自动注入)...

    DI注入在.Net平台是非常流行的, 很多项目都用到了,很多开发人员或多或少也用到DI容器了,感觉DI容器很神奇很厉害.本文将通过百行代码展示DI容器的内部核心代码(包括组件的瞬时生命周期.单利生命周 ...

  8. Servlet自动注入Spring容器中的Bean解决方法

    Servlet自动注入Spring容器中的Bean解决方法 参考文章: (1)Servlet自动注入Spring容器中的Bean解决方法 (2)https://www.cnblogs.com/jank ...

  9. 【安全牛学习笔记】SQLMAP自动注入-REQUEST

    SQLMAP自动注入-----REQUEST 数据段:   --data get/post都适用 sqlmap -u "http://1.1.1.1/a.php" --data=& ...

最新文章

  1. 每个程序员都应该知道的10件事!
  2. Ubuntu 11.10 开机让 Varnish 跟随 Nginx 一起启动
  3. Angular--TypeScript finalize 方法
  4. 求生之路 服务器优化参数,《求生之路2》服务器及网络参数优化指南
  5. IBM Storwize V7000 Introduction(1)
  6. 如何优雅处理 async await 错误——解读小而美的 await-to-js 库
  7. 利用platform库获取浏览器和操作系统版本
  8. 云原生数据仓库TPC-H第一背后的Laser引擎大揭秘
  9. 一个爬虫的故事:这是人干的事儿?,很值得一看!
  10. (42)Xilinx FIFO IP核配置(三)(第9天)
  11. arduino loar_如何使用Arduino开发板制作函数生成器(波形发生器)
  12. app、web和接口测试测试流程
  13. 平衡查找树C语言程序,C语言数据结构之平衡二叉树(AVL树)实现方法示例
  14. 如何检查PHP数组是关联数组还是顺序数组?
  15. 【mfc】解决鼠标钩子被占用焦点后不响应的问题
  16. 双向循环链表(图文讲解)
  17. 配置内网windows域教程,模拟公司内网架构
  18. 百钱买百鸡问题的最优解法
  19. 监控摄像机选型攻略之常见机型选用
  20. 安消一体智能分析终端服务器

热门文章

  1. 深入Activity的作业完成
  2. 3164 质因数分解
  3. android ImageButton的图片怎么定义?
  4. WCF Data Service安全分析和说明
  5. windows form (窗体) 之间传值
  6. MICROSOFT SQL SERVER 2005 SEPTEMPTER CTP下载
  7. 自定义简单版本python线程池
  8. .net工具类 分享一个简单的随机分红包的实现方式
  9. 哈佛教授公开R语言源码,教你用R制作gif动图
  10. jquery可见性选择器(匹配匹配所有显示的元素)