spring-依赖注入(DI)

  • 依赖注入(Dependency Injection,DI).
  • 依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源 .
  • 注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配 .

1 构造器注入

之前的博客演示过了

2 set注入(重点)

2.1 创建实体类

2.1.1 创建Address.java

public class Address {
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}

2.1.2 创建Student.java

编写出每一种类型的属性,并添加get,set,和toString方法

public class Student {
//普通值
private String name;
//引用类型
private Address address;
//数组
private String[] books;
//List
private List<String> hobbies;
//Map
private Map<String,String> card;
//Set
private Set<String> games;
//设置空值
private String wife;
//Properties
private Properties info;
}

2.2 在配置文件中为每一种类型的属性注入值

2.2.1普通值注入

<property name="name" value="傻逼"/>

2.2.2 Bean注入

<property name="address" ref="address"/>

2.2.3 数组

<property name="books">
<array>
<value>水浒传</value>
<value>三国演义</value>
<value>西游记</value>
<value>红楼梦</value>
</array>
</property>

2.2.4 List

<property name="hobbies">
<list>
<value>打游戏</value>
<value>看电影</value>
<value>敲代码</value>
</list>
</property>

2.2.5 Map

<property name="card">
<map>
<entry key="身份证" value="123456789987654321"/>
<entry key="银行卡" value="1472583699638527491"/>
</map>
</property>

2.2.6 Set

<property name="games" >
<set>
<value>王者荣耀</value>
<value>地平线5</value>
<value>闪耀暖暖</value>
</set>
</property>

2.2.7 null

<property name="wife">
<null/>
</property>

2.2.8 properties

<property name="info">
<props>
<prop key="学号">202201016</prop>
<prop key="姓名">傻逼</prop>
<prop key="性别"></prop>
</props>
</property>

2.3 测试

public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Student student = (Student) context.getBean("student");
System.out.println(student);
}
}

2.4 执行结果

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示