6_Spring_Bean的自动装配
6_Spring_Bean的自动装配
bean自动装配
通过property标签可以手动指定给属性进行注入
我们也可以通过自动转配,完成属性的自动注入,就是自动装配,可以简化DI的配置
准备实体类
-
package com.msb.bean;
-
/**
-
- @Author: Ma HaiYang
-
- @Description: MircoMessage:Mark_7001
-
*/
-
public class Dept {
-
}
-
package com.msb.bean;
-
/**
-
- @Author: Ma HaiYang
-
- @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;
-
}
-
}
配置文件
- <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.msb.bean.Dept"></bean>
-
<!--
-
autowire 属性控制自动将容器中的对象注入到当前对象的属性上
-
byName 根据目标id值和属性值注入,要保证当前对象的属性值和目标对象的id值一致
-
byType 根据类型注入,要保证相同类型的目标对象在容器中只有一个实例
-
-->
-
<bean id="emp" class="com.msb.bean.Emp" autowire="byName"></bean>
测试代码
- package com.msb.test;
- import com.msb.bean.Emp;
- import com.msb.bean.User;
- import org.junit.Test;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- /**
-
- @Author: Ma HaiYang
-
- @Description: MircoMessage:Mark_7001
- */
- public class Test2 {
-
@Test
-
public void testGetBean(){
-
ClassPathXmlApplicationContext("applicationContext2.xml");ClassPathXmlApplicationContext context =new
-
Emp emp = context.getBean("emp", Emp.class);
-
System.out.println(emp);
-
}
- }
Generated with Mybase Desktop 8.2.13
标签:
spring
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理