Spring中的Bean配置 (1)——内容提要
Spring中的Bean配置 (2)—— IOC和DI
Spring中的Bean配置 (3)——在Spring的IOC容器里配置Bean(通过全类名(反射))——基于XML文件的方式
Spring中的Bean配置 (4)——依赖注入方式
Spring中的Bean配置 (5)——字面值
Spring中的Bean配置 (6)——引用其他Bean
Spring中的Bean配置 (7)——注入参数详解:null值和级联属性
Spring中的Bean配置 (8)—— 集合属性
Spring中的Bean配置 (9)—— XML 配置里的 Bean自动装配
Spring中的Bean配置 (10)—— 继承 Bean 配置和依赖 Bean 配置
Spring中的Bean配置 (11)——Bean的作用域
Spring中的Bean配置 (12)——使用外部属性文件
Spring中的Bean配置 (13)—— Spring表达式语言:SpEl
Spring中的Bean配置 (14)——IOC容器中Bean的生命周期
Spring中的Bean配置 (15)——在Spring的IOC容器里配置Bean(通过工厂方法创建Bean)——基于XML文件的方式
Spring中的Bean配置 (16)——在Spring的IOC容器里配置Bean(通过FactoryBean)——基于XML文件的方式
Spring中的Bean配置 (17)——在Spring的IOC容器里配置Bean——基于注解的方式来配置Bean
基于注解的方式配置Bean有两种形式:
1:基于注解配置Bean 2:基于注解来装配Bean的属性
1:基于注解配置 Bean
-
在 classpath中扫描组件
-
组件扫描(component scanning): Spring 能够从classpath下自动扫描,侦测和实例化具有特定注解的组件.
-
特定组件包括:
—@Component: 基本注解, 标识了一个受 Spring 管理的组件
—@Respository: 标识持久层组件
—@Service: 标识服务层(业务层)组件
—@Controller: 标识表现层组件
- 对于扫描到的组件,
Spring 有默认的命名策略:
使用非限定类名,第一个字母小写**.** 也可以在注解中通过 value属性值标识组件的名称
-
-
当在组件类上使用了特定的注解之后, 还需要在 Spring 的配置文件中声明 < context:component-scan > :
—base-package 属性指定一个需要扫描的基类包,Spring 容器将会扫描这个基类包里及其子包中的所有类
—当需要扫描多个包时 ,可以使用逗号分隔.
–如果仅希望扫描特定的类而非基包下的所有类,可使用 resource-pattern 属性过滤特定的类,示例:
—< context:include-filter > 子节点表示要包含的目标类
—< context:exclude-filter> 子节点表示要排除在外的目标类
—< context:component-scan > 下可以拥有若干个 < context:include-filter > 和 < context:exclude-filter > 子节点
- < context:include-filter>和< context:exclude-filter>子节点支持多种类型的过滤表达式:
2:基于注解来装配Bean的属性
- < context:component-scan>元素还会自动注册AutowiredAnnotationBeanPostProcessor
实例,
该实例可以自动装配具有
@ Autowired和**@Resource** 、@Inject 注解的属性.
使用 &