如果不用applicationCOntext.xml去配置Spring,我们也可以使用Java加上注解的形式去实现Spring的配置。当然了在Spring boot中用的比较多。接下来让我们初步的去了解一下使用JAVA配置Spring的一些步骤。
一、导入注解的依赖或者jar包(这里我使用的是导入依赖)
二、编写一个实体类和配置类,在相应的类中添加注解
三、测试
一、在pom.xml中导入注解的依赖 junit
(由于idea的版本不同junit的版本依赖也不同,根据自己的需求去导入相应的依赖)
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
二、编写一个实体类和配置类
实体类
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
配置类
public class WeiConfig {
public User user(){
return new User();
}
}
接下来我们为这两个类添加一些注解
在实体类中添加@Component注解
@Component//这里这个注解的意思,就是说明这个类被Spring接管了,注册到容器中
public class User {
private String name;
public String getName() {
return name;
}
@Value("张三") //属性注入值
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
在配置类中添加@Configuration注解(补充:@ComponentScan、@Import)
//这个也会被Spring容器托管,注册到容器中,因为他本身就是一个@Component。
// @Configuration代表的就是一个配置类,就和我们之前的applicationContext.xml一样
@Configuration
@ComponentScan("com.wei.pojo")//扫描包
@Import(WeiConfig2.class) //连接多个配置类(如果只有一个配置类,就不用了添加这个注解了,这个注
//解的意思就是告诉我们可以用这种方式来连接多个配置类)用法和<import resource="applicationContext.xml"/>一样
public class WeiConfig {
//注册一个bean,就相当于我们在applicationContext.xml文件中的一个bean标签
// 这个方法的名字,相当于bean标签的id属性
//这个方法的返回值,相当于bean标签的class属性
@Bean
public User user(){
return new User();//返回值就是要注入到bean的对象
}
}
三、测试
public static void main(String[] args) {
//如果完全使用配置类的方法去做,我们就只能通过 AnnotationConfig 上下文来获取容器,通过配置类的class对象加载!
ApplicationContext context = new AnnotationConfigApplicationContext(WeiConfig.class);
User getUser = context.getBean("user",User.class);//这里也可以使用强转User getUser =(User) context.getBean("user");
System.out.println(getUser.getName());
}