纯java类实现Spring中的bean配置
Spring支持纯java类依靠注解来进行bean的配置,且不需要创建xml
在Springboot中这种方法尤为多见
需要注解的有
- @Component:将这个类标注为Spring的一个组件,放到容器中
- @Configuration:代表这是一个配置类,类似于xml中的beans
- @Bean:通过方法注册一个bean,返回值就是Bean的类型,方法名就是bean的id
- @Import:导入其他配置的config类,类似于xml中的include标签
实体类:
@Component //将这个类标注为Spring的一个组件,放到容器中!
public class User{
public String user = "孙笑川"
}
创建一个专门的config类,用来定义配置类
@Configuration //代表这是一个配置类
public class ConfigText {
@Bean //等价于<bean id="user" class="com.nicht.pojo.User/>"
public User user(){
return new User();
}
}
测试:
@Test
public void test2(){
ApplicationContext applicationContext =new AnnotationConfigApplicationContext(ConfigTest.class);
//注意需要用到的类:AnnotationConfigApplicationContext,和用xml的类不同
User user = applicationContext.getBean("user",User.class);
System.out.println(user.name);
}
还有一个注解就是上面提到的import标签
测试:
@Configuration //代表这是一个配置类
public class ConfigText_2 {
}
@Configuration //代表这是一个配置类
@Import(ConfigText_2.class)//导入合并其他配置类
public class ConfigText {
@Bean //等价于<bean id="user" class="com.nicht.pojo.User/>"
public User user(){
return new User();
}