spring10: 引用类型的自动注入
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: 引用类型的自动注入相关推荐
- 引用类型属性自动注入-byName,byType,多个配置文件
引用类型属性自动注入 对于引用类型属性的注入,也可不在配置文件中显示的注入.可以通过为标签 设置 autowire 属性值,为引用类型属性进行隐式自动注入(默认是不自动注入引用类型属 性).根据自 ...
- Spring自动注入(引用类型)
spring可以根据某些规则给引用类型完成赋值,只对引用类型有效.有两种方式实现自动注入,下面简单的介绍以下 1-ByName 按名称自动注入:Java类中引用类型的属性名称和spring容器中bea ...
- Spring中自动注入的两种方式
目录 1. 前言 2. set注入和构造注入. 3. 什么情况下要使用自动注入? 4. 自动注入之byName 5. 自动注入之byType注入 1. 前言 Spring的核心技术IOC(Intoro ...
- autowired java_Java 基础之Autowired 是否是自动注入
Java 基础之Autowired 是否是自动注入 相信很多人对Autowired 注解理解不深入,或者是认为此注解就是spring的自动注入.相信看完本篇文章,你会有更加不一样的理解. 首先我们先看 ...
- AOP通过开启注解方式自动注入值
注解:EnableDimEnhance package com.comma.teeth.enhance.dim.annotation;import java.lang.annotation.Docum ...
- 剔除Intellij中Mybatis的Mapper自动注入警告
起源 区别@Controller,@Service,@Repository,@Component 为什么建议构造器注入 Field injection: Constructor injection: ...
- 百行代码打造一个DI容器(支持瞬时生命周期、单利生命周期、构造函数自动注入、属性自动注入、字段自动注入)...
DI注入在.Net平台是非常流行的, 很多项目都用到了,很多开发人员或多或少也用到DI容器了,感觉DI容器很神奇很厉害.本文将通过百行代码展示DI容器的内部核心代码(包括组件的瞬时生命周期.单利生命周 ...
- Servlet自动注入Spring容器中的Bean解决方法
Servlet自动注入Spring容器中的Bean解决方法 参考文章: (1)Servlet自动注入Spring容器中的Bean解决方法 (2)https://www.cnblogs.com/jank ...
- 【安全牛学习笔记】SQLMAP自动注入-REQUEST
SQLMAP自动注入-----REQUEST 数据段: --data get/post都适用 sqlmap -u "http://1.1.1.1/a.php" --data=& ...
最新文章
- 每个程序员都应该知道的10件事!
- Ubuntu 11.10 开机让 Varnish 跟随 Nginx 一起启动
- Angular--TypeScript finalize 方法
- 求生之路 服务器优化参数,《求生之路2》服务器及网络参数优化指南
- IBM Storwize V7000 Introduction(1)
- 如何优雅处理 async await 错误——解读小而美的 await-to-js 库
- 利用platform库获取浏览器和操作系统版本
- 云原生数据仓库TPC-H第一背后的Laser引擎大揭秘
- 一个爬虫的故事:这是人干的事儿?,很值得一看!
- (42)Xilinx FIFO IP核配置(三)(第9天)
- arduino loar_如何使用Arduino开发板制作函数生成器(波形发生器)
- app、web和接口测试测试流程
- 平衡查找树C语言程序,C语言数据结构之平衡二叉树(AVL树)实现方法示例
- 如何检查PHP数组是关联数组还是顺序数组?
- 【mfc】解决鼠标钩子被占用焦点后不响应的问题
- 双向循环链表(图文讲解)
- 配置内网windows域教程,模拟公司内网架构
- 百钱买百鸡问题的最优解法
- 监控摄像机选型攻略之常见机型选用
- 安消一体智能分析终端服务器