作业
有两个对象,属性如下
Student
private Address address;
private String name;
private String[] books;
private List<String> hobbys;
private Map<String,String> card;
private Set<String> games;
private String wife;
private Properties info;
Address
private String address;
请你选择用xml和注解联合的方式,将我们要注入的属性(对象)注入到对象中,并测试程序的正确性。
分析:Address类要加载到Student类中,作为Student的私有属性
添加依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.13</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
Config包
这里都是基操
package text.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@ComponentScan("text")//扫描bean
@Configuration//配置类注解
public class Configration {
}
entry包
package text.entry;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@ToString//加上此注解方便使用tostring方法
@Component//作为bean被加载
public class Address {
@Value("这河里么")//诸如数据
private String address;
}
package text.entry;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@Component//作为bean被扫描
@ToString
public class Student {
private Address address;
@Value("小明")
private String name;
@Value("软件测试,uml")
private String[] books;
@Value("pingpang,basketball,football")
private List<String> hobbys;
private Map<String,String> card;
@Value("cf,lol,cos")
private Set<String> games;
@Value("none")
private String wife;
@Resource
private Properties info;
@Resource//此处增加数据源,接收数据
public void setAddress(Address address){
this.address=address;
}
}
main包
package text.main;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import text.config.Configration;
import text.entry.Student;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 加载配置文件类
AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(Configration.class);
// 加载bean注解类
Student student = context.getBean(Student.class);
// 测试bean注解类
System.out.println(student);
}
}