项目中Spring是如何知道创建哪些类的对象呢?Spring提供了三种配置元数据的方式,来向Spring提供信息。
1、XML文件
Spring之对象解析及注册 中使用的xml文件标签化配置Bean的相关信息。
属性 | 描述 | 对应注解 |
---|---|---|
class | 此项必填,指定要创建Bean的类(全路径) | 无 |
id | 全局唯一 指定bean的唯一标示符 | 无 |
name | 全局唯一 指定bean的唯一标示符 | @Bean的name属性 |
scope | 创建bean的作用域 | @Scope |
singleton | 是否单例 | @Scope(value=SCOPE_SINGLETON) |
depends-on | 用来表明依赖关系 | @DependsOn |
depends-check | 依赖检查 | 无 |
autowire | 自动装配 默认NO | @Bean的autowire属性 |
init-method | 对象初始化后调用的方法 | @Bean 的initMethod属性 |
destroy-method | 对象销毁前调用的方法 | @Bean 的destroyMethod |
lazy-init | 容器启动时不会初始化,只有使用时初始化 | @Lazy |
primary | 容器中有多个相同类型的bean时,autowired时优先使用primary=true | @Primary |
factory-method | 工厂创建对象的方法 | 无 |
factory-bean | 工厂bean | 无 |
2、注解方式
注解配置的bean的方式:
@Component 标识了一个被Spring管理的对象
@Respository 标识持久层对象
@Service 标识业务层对象
@Controller 标识表现层对象
TODO 具体配置扫描路径,如何解析注解后面专题处理
3、java配置
Spring注解式编程 使用configuration配置bean
<bean> 对应@Bean
网友评论