Spring实战系列-第三章 高级装配

  1. 环境与Profile

spring.profiles.default

spring.profiles.active

  1. 设置上述两参数的方法

作为DispatcherServlet的初始化参数

作为Web应用的上下文参数

作为JNDI条目

作为环境变量

作为JVM的系统属性

在继承测试类上,使用@ActiveProfiles注解设置

在properties文件中设置

  1. 条件化配置

@Conditional

@Profile

ProfileCondition

  1. 自动装配的歧义性
  1. 只针对注入时采用的是接口,而该接口有多个实现时会出现该情况;如果注册的对象不是接口形式,而是类,默认注入是的属性名为bean name去容器中查找,如果没找到,则按类型查找,如果有多个实现,则会报异常;如果找到了对应的bean,则即使该类有多个实现,也不会报异常;
  2. 解决办法:

@Primary

@Qualifier

   3)自定义注解

  1. Bean的作用域
  1. 单例是无状态的
  2. 但有时我们使用的类是易变的,他们会保持一些状态,重用是不安全的,因为对象会被污染,重用的时候会出现意想不到问题。
  3. 作用域包括:
  1. 单例:singleton
  2. 原型:prototype
  3. 会话:session
  4. 请求:request
  1. ScopedProxyMode.INTERFACES

WebApplicationContext.SCOPE_SESSION/ SCOPE_REQUEST/ SCOPE_APPLICATION

ConfigurableBeanFactory. SCOPE_SINGLETON/SCOPE_PROTOTYPE

  1. 运行时注入:
  1. 当讨论依赖注入的时候,我们通常所讨论的是将一个bean引用注入到另一个bean的属性或构造器参数中,它通常来讲指的是将一个对象与另一个对象进行关联。

但bean装配的另外一个方面指的是将一个值注入到bean的属性或者构造器参数中。

  1. 属性占位符:${xxx}
  2. SpEL:#{xxx}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值