【Spring In Action】Section 3 高级装配

  • Spring Profile
  • 条件化的bean声明
  • 自动装配与歧义性
  • bean的作用域
  • Spring的语言表达式

一、环境与Profile
为了区分环境,引入了profile bean;
首先定义一个类:
@Configuration相当于XML中的Beans,@Bean相当于XML中的Bean
@Configuration
@Profile("dev")
public class DevelopmentProfileConfig{
    
    @Bean
    public DataSource dataSource(){
	return new XXXXXBuildr()
		.setType()
		.setUserName()
		.setpassword()
		.build();
    }

}

当然也可以写在具体的方法上,这样就可以在同一个class中配置多个环境的变量了。

在XMl中也是可以进行对应的配置的:
<beans profile="dev">
    <bean>
    </beans>
</beans>
<beans profile="prod">
    <bean>
    </beans>
</beans>

那么问题来了,我们应该怎么样去激活某个profile呢?
其实这需要两个独立的属性:spring.profile.active和spring.profile.default
如下的几个途径可以设置哦:
  1. 作为DispatcherServlet的初始化参数;
  2. 作为web应用的上下文参数;
  3. 作为JNDI条目
  4. 作为环境变量
  5. 作为JVM的系统属性
  6. 在集成测试类上,可以使用@ActiveProfile注解设置







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值