注解初始化spring容器
- 在需要被容器创建的类上方添加注解
@Component
- 在主类上方添加注解
@ComponentScan
注意:只能扫描主类所在的包以及它下面的所有子包下的、含有@Component
的类,如果需要扫描这些包之外的包,那么需要在@ComponentScan
之后添加参数:- 添加一个更大的包
@ComponentScan("a.b.c...")
- 添加多个包
@ComponentScan(basePackages ={ "a.b.c.d","a.b.c.e",...})
- 添加需要被注入的类
@ComponentScan(basePackageClasses = {类对象的数组A.class,B.class,C.class...})
- 添加一个更大的包
- 主方法初始化spring容器
ApplicationContext context = new AnnotationConfigApplicationContext(Application.class);
,这个构造方法参数是@ComponentScan
所在的类对象主类.class
这样就创建了spring容器,含有@Component
的类会被管理自动初始化
从容器获取对象
现在就不用之前的new
关键字创建对象,而是直接从容器中获取对象
利用创建的容器context
,和getBean()
方法,例如现在要获取容器中的A对象实例:A a = context.getBean(A.class);
就可以获取到A的实例对象a。
自动调用方法@Autowired
利用这个注解可以使一个方法被自动调用
关于Autowired的使用,点击这里