Spring注解开发实现零配置

Spring是一个管理Bean的容器,由于Bean与Bean之间的依赖关系而引入了DI从而实现一种IOC,即控制反转,因此Spring容器也可以被称作IOC容器(ApplicationContext)。

  1. XML配置文件的方式注册组件

    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-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)

  2. 注解方式注册组件
    a. @Configuration 配置类注解,修饰类,告诉Spring这是一个配置类
    b. @Bean 组件类注解,给容器中注册一个Bean,类型为返回值类型,id默认是用方法名做为id

AnnotationConfigApplicationContext(Class configClazz)
  1. 包扫描
    配置类上添加注解
    @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
0%