Spring @Configuration And @Bean
@Configuration And @Bean And AnnotationConfigApplicationContext
代码样例
@Configuration public class AppConfig{ @Bean(name = "user") public User initUser(){ User user = new User(); user.setId(1L); user.setUserName("user_name_1"); user.setNote("note_1"); return user; } }
@Configuration
定义:
放在类名前时代表这是Java配置文件,Spring的容器会根据它来生成IOC容器去装配Bean
可理解为用spring的时候xml里面的标签
@Bean
定义:
方法前代表将该方法返回的POJO装配到IoC容器中,name值定义该Bean的名称,若无则默认方法名存入Spring IoC容器中
可用于将第三方包的类对象装配至IoC内
可理解为用spring的时候xml里面的标签
AnnotationConfigApplicationContext
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
User user = ctx.getBean(User.class);
代码中通过将JAVA配置文件AppConfig传递给AnnotationConfigApplicationContext的构造方法,读取配置然后将配置内的Bean装配到IoC容器中,于是可以使用getBean方法获取对应POJO,