Spring是一个管理Bean的容器,由于Bean与Bean之间的依赖关系而引入了DI从而实现一种IOC,即控制反转,因此Spring容器也可以被称作IOC容器(ApplicationContext)。
XML配置文件的方式注册组件
1
2
3
4
5
6
7
8
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xis="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=""http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<bean></bean>
</beans>ClassPathXmlApplicationContext(String location)
注解方式注册组件
a. @Configuration 配置类注解,修饰类,告诉Spring这是一个配置类
b. @Bean 组件类注解,给容器中注册一个Bean,类型为返回值类型,id默认是用方法名做为id
AnnotationConfigApplicationContext(Class configClazz)
- 包扫描
配置类上添加注解
@ComponentScan(value=”com.alwyn”, excludeFilters={
@Filter(type=FilterType.Annotation, classes={Controller.class}),
@Filter(type=FilterType.ASSIGNABLE_TYPE, class=BookService.class),
@Filter(type=FilterType.REGEX, class=””),
})
- value指定扫描的包
- includeFilters: 必须设置useDefaultFilters为false
- excludeFilters : Filter[] includeFilters() default {};
- useDefaultFilters : defualt true;
- 扫描的注解包括:@Controller @Service @Repository @Component