1)使用构造器注入bean
实体类:用户类
public class User {
private String name;
private UserMessage userMessage;
public User() {
}
public User(String name, UserMessage userMessage) {
this.name = name;
this.userMessage = userMessage;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public UserMessage getUserMessage() {
return userMessage;
}
public void setUserMessage(UserMessage userMessage) {
this.userMessage = userMessage;
}
@Override
public String toString() {
return "User{" + "name='" + name + '\'' + ", userMessage=" + userMessage + '}';
}
}
实体类:用户信息类
public class UserMessage {
private String username;
private String password;
public UserMessage() {
}
public UserMessage(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "UserMessage{" + "username='" + username + '\'' + ", password='" + password + '\'' + '}';
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 注册UserMessage类 -->
<bean id="userMessage" class="entity.UserMessage">
<constructor-arg name="username" value="scott"></constructor-arg>
<constructor-arg name="password" value="tiger"></constructor-arg>
</bean>
<!-- 注册User类 -->
<bean id="user" class="entity.User">
<constructor-arg name="name" value="tom"></constructor-arg>
<constructor-arg name="userMessage" ref="userMessage"></constructor-arg>
</bean>
</beans>
测试类
public class TestDI {
@Test
public void test() {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = ac.getBean("user", User.class);
System.out.println(user);
}
}
测试结果
User{name='tom', userMessage=UserMessage{username='scott', password='tiger'}}
2)使用setter方法注入bean
实体类:用户类
public class User {
private String name;
private UserMessage userMessage;
public User() {
}
public User(String name, UserMessage userMessage) {
this.name = name;
this.userMessage = userMessage;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public UserMessage getUserMessage() {
return userMessage;
}
public void setUserMessage(UserMessage userMessage) {
this.userMessage = userMessage;
}
@Override
public String toString() {
return "User{" + "name='" + name + '\'' + ", userMessage=" + userMessage + '}';
}
}
实体类:用户信息类
public class UserMessage {
private String username;
private String password;
public UserMessage() {
}
public UserMessage(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "UserMessage{" + "username='" + username + '\'' + ", password='" + password + '\'' + '}';
}
}
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 注册UserMessage类 -->
<bean id="userMessage" class="entity.UserMessage">
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
<!-- 注册User类 -->
<bean id="user" class="entity.User">
<property name="name" value="tom"></property>
<property name="userMessage" ref="userMessage"></property>
</bean>
</beans>
测试类
public class TestDI {
@Test
public void test() {
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = ac.getBean("user", User.class);
System.out.println(user);
}
}
测试结果
User{name='tom', userMessage=UserMessage{username='scott', password='tiger'}}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。