Version: Next
Spring配置类
info
干掉applicationContext.xml
完全使用java的方式配置Spring
JavaConfig时Spring的一个子项目,在Spring4之后,它成为了一个核心功能
AppConfig类
新建maven模块,spring-07-appconfig,新建一个包com.bsx.config
新建一个类名字随便
@Configuration
用来将一个类标记为配置类,相当于applicationContext
@Bean
用来注解被@Configuration
注解的类下的方法
- @Bean("xxx")用来指定bean id
- @Bean -> 此时注解的
方法名
就是bean id
User.java
@Datapublic class User {@Value("我的名字")private String name;}AppConfig.java
@Configurationpublic class AppConfig {@Bean("user")public User getUser(){return new User();}}测试
@Testpublic void testAppConfig(){ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);User user = context.getBean("user", User.class);System.out.println(user);}
@Component + @ComponentScan
@Component
加在User类上@Component("id")
用来指定bean id , 默认为类名小写
@ComponentScan("com.bsx")
加载配置类上,开启包扫描
User.java
@Data@Componentpublic class User {@Value("我的名字")private String name;}AppConfig.java
@Configuration@ComponentScan("com.bsx")public class AppConfig {}测试
@Testpublic void testAppConfig(){ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);User user = context.getBean("user", User.class);System.out.println(user);}
@ Import(xxx.class)
用来在一个配置类里引入另一个了配置类,传入配置类的class文件