spring学习11(注解方式配置bean)

组件扫描 Spring能够从classPath下自动扫面,侦测和实例化具有特点注解的组件
特定组件包括:(标识在类上)
  • @Component 基本注解,标识一个受spring管理的组件
  • @Repository 标识持久层组件
  • @Service 标识服务层(业务层)组件
  • @Controller 标识表现层组件
对于扫描到的组件,spring有默认的命名规则:使用非限定类名,第一个字母小写,也可以通过value属性标识组件的名称

代码:
在note包下:

package note;
import org.springframework.stereotype.Component;

@Component("testPojo")
public class TestPojo {

}

配置文件:

 

配置文件的过滤

指定扫描的包 扫描这个包下的所有子包
 
使用属性resource-pattern 过滤只扫描指定的类

 

使用文件的过滤使用:context:component-scan 子节点
  • context:exclude-filte:指定排除那些组件

  • context:include-filter:指定只包含那些组件

它们都有共同的属性 type 来指定使用什么方式来排除或包含
  • type="annotation" 根据注解
  • type="assignable" 根据接口或者类

共同属性 expression指定目标注解 或 类

  • context:exclude-filter指定排除那些组件:子节点的属性 type="annotation"根据注解不包含 expression属性指定的
    

        
 

  • context:exclude-filter指定排除那些组件:子节点的属性 type="assignable"根据接口或者类型不包含 expression属性指定的

     
        
     
  • context:include-filter指定只包含那些组件: 去掉默认filter只是用指定的filter use-default-filters="false"

     
        
    
注意指定指定只包含时:去掉默认filter只是用指定的filter use-default-filters="false"

你可能感兴趣的:(spring学习11(注解方式配置bean))