使用Java的方式配置Spring
现在要完全不使用Spring的xml配置了,全权交给Java来做。
JavaConfig是Spring的一个子项目,在Spring4之后,成为了一个核心功能。
实体类
@Data
@Component
//这个注解的意思,就是说明这个类被Spring接管了,注册到了容器中
public class User {
@Value("张三")
//属性注入值
private String name;
}
配置文件
package com.Sirius.config;
import com.Sirius.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
/**
* 这个也会被Spring容器托管,注册到容器中,因为它本身也是一个@Component
* @Configuration 代表这是一个配置类,和之前的applicationContext.xml一样
*/
@Configuration
@ComponentScan("com.Sirius")
@Import(SiriusConfig2.class)
public class SiriusConfig {
/**
* 就相当于之前写的一个<bean>
* 这个方法的名字,就相当于bean中的id
* 这个方法的返回值,就相当于bean中的class
*/
@Bean
public User getUser(){
return new User();
}
}
测试类
public class MyTest {
@Test
public void test(){
/**
* 如果完全使用了配置方法去实现,我们只能通过 AnnotationConfig 上下文
* 来获取容器,通过配置类的class对象加载
*/
ApplicationContext context = new AnnotationConfigApplicationContext(SiriusConfig.class);
User getUser = (User)context.getBean("getUser");
System.out.println(getUser.getName());
}
}
这种纯Java的配置方式,在SpringBoot中随处可见