Spring基础(六):Bean自动装配
2023-02-18 16:40:56 时间
Bean自动装配
通过property标签可以手动指定给属性进行注入
我们也可以通过自动转配,完成属性的自动注入,就是自动装配,可以简化DI的配置
一、准备实体类
package com.lanson.bean;
/**
* @Author: lansonli
* @Description: MircoMessage:Mark_7001
*/
public class Dept {
}
package com.lanson.bean;
/**
* @Author: lansonli
* @Description: MircoMessage:Mark_7001
*/
public class Emp {
private Dept dept;
@Override
public String toString() {
return "Emp{" +
"dept=" + dept +
'}';
}
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public Emp() {
}
public Emp(Dept dept) {
this.dept = dept;
}
}
二、配置文件
<?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:p="http://www.springframework.org/schema/p"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dept" class="com.lanson.bean.Dept"></bean>
<!--
autowire 属性控制自动将容器中的对象注入到当前对象的属性上
byName 根据目标id值和属性值注入,要保证当前对象的属性值和目标对象的id值一致
byType 根据类型注入,要保证相同类型的目标对象在容器中只有一个实例
-->
<bean id="emp" class="com.lanson.bean.Emp" autowire="byName"></bean>
</beans>
三、测试代码
package com.lanson.test;
import com.lanson.bean.Emp;
import com.lanson.bean.User;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @Author: lansonli
* @Description: MircoMessage:Mark_7001
*/
public class Test2 {
@Test
public void testGetBean(){
ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext("applicationContext2.xml");
Emp emp = context.getBean("emp", Emp.class);
System.out.println(emp);
}
}
相关文章
- 【架构师(第四十二篇)】 服务端开发之常用的登录鉴权方式
- 【架构师(第四十三篇)】 服务端开发之单元测试和接口测试
- 【架构师(第四十四篇)】 服务端开发之 pm2 和 nginx 介绍
- 【架构师(第四十六篇)】 服务端开发之安装 Docker
- 【架构师(第四十七篇)】 服务端开发之认识 Docker
- 【架构师(第四十八篇)】 服务端开发之 Dockerfile
- 【架构师(第四十九篇)】 服务端开发之认识 Docker-compose
- 【架构师(第五十篇)】 服务端开发之自动发布到测试机
- 【架构师(第五十一篇)】 服务端开发之技术方案设计
- 【架构师(第五十二篇)】 几个前端工具的基本使用
- 【架构师(第五十三篇)】 性能优化之 HTTP 缓存
- 【前端财富】前端工程师装机指南 (windows10)
- 最近很火的ChatGPT怎么玩?
- 小巧好用的免费虚拟机软件
- [ChatGPT解决方案]生成 nginx 自签名证书
- 完美解决文件格式转换问题
- MariaDB在Oscar故障演练平台的测试实践
- 压缩列表的源码实现
- Docker命令三板斧
- 一文教你快速注册OpenAi(ChatGPT),国内也可以!