spring复习二(自动装配)个人理解

自动装配
* @Autowired 自动注入 可以标在参数,构造器,属性,方法上
* 容器各组件id名默认是类名首字母小写
* spring利用依赖注入,完成对ioc容器中各个组件的依赖关系赋值
* 默认优先按照类型(class)去找容器中对应的组件
* 若容器中有多个类型相同的组件,则按照id查找
* 自动装配需要将属性值赋值好,否则启动报错,
* 注解autowired有一个属性required,默认为true,改为false则不会报错
*
* @Qualifier
* 指定需要装配的组件id,而不是使用属性名
*
* @Primary
* 让spring自动装配时默认使用首选的bean
*
* @Resource
* 也可自动装配,默认按照组件id名进行装配
* 不能支持@primary和@qualifier
*
* @Inject
* 能进行自动装配
* 使用需导入javax.inject依赖
* 能使用@primary注释,但没有autowired注释内的required=false的功能
*
*
* 自定义组件想要实现spring组件的功能,
* 可以去继承aware接口的子接口并重写它的方法
* 每一个aware都有对应的processor处理
** @Profile 可以写在bean上,也可以写在类上
* spring提供的可以根据当前环境,动态的激活和切换一系列组件的功能
* 开发环境,测试环境,生产环境
* 以数据库为例 要求在开发中连接a数据库,测试中连接b数据库
* 加了环境标识的bean,只有环境被激活才能被注册到容器
* 没有标注环境标识则在任意环境都能加载
* @Profile(“default”)----->默认环境
*
* 切换profile环境方法:
* 1.命令行参数内修改(在虚拟机参数位置加),如-Dspring.profiles.active=xxx
* 2.在ioc容器的环境中修改 applicationContext.getEnvironment.setActiveProfiles(“xxx”,) 可以一次设置多个
* 然后注册配置类(也可以在创建容器对象时注册)
* 最后启动,刷新容器,applicationContext.refresh();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值