介绍
Spring3.0提出注解 @Configuration 、@ComponentScan 替代application-config.xml配置文件
使用纯java代码,不需要xml配置文件
@Configuration 注解
使用方法
修饰类
作用
表示该类是 配置类,相当于spring配置文件 spring.xml
配置类的要求
配置类有如下要求:
- 不可以是final类;
- 不可以是匿名类;
- 嵌套的配置类必须是静态类。
总之一句话:将一个普通的干净的类作为配置类,最为稳妥
有时可省略该注解
参见下面例子
@ComponentScan
使用
修饰类方法
作用
指定要扫描某包下的注解
创建 ApplicationConfig 类
该类用于替代 spring.xml 配置文件
@Configuration
@ComponentScan("top.malaoshi") //指定扫描该包下的注解
public class ApplicationConfig {
}
实现主启动类
public class Main {
public static void main(String[] args) {
ApplicationContext ac=new AnnotationConfigApplicationContext(ApplicationConfig.class);
IUserService srv=(IUserService)ac.getBean("userSrvImpl");
srv.save("lilei","123456");
}
}
执行结果:
UserSrvImpl构造方法
调用UserSrvImpl的save()方法,参数:lilei-123456
可省略 @Configuration 注解
由于 ApplicationConfig 类传入到 AnnotationConfigApplicationContext 类中,此时,ApplicationConfig 类上可省略 @Configuration 注解