Spring 梳理-profile与条件化定义bean
2024-09-01 08:55:42
- 定义profile
-
<beans> //root
<beans profile="dev">
<bean id=.../>
</beans>
<beans profile="qa">
<bean id=.../>
</beans>
<beans profile="prod">
<bean id=.../>
</beans>
</beans>
-
- 激活profile
- spring在确定哪个profile处于激活状态时,需要依赖两个独立的属性:srping.profiles.active 和 spring.profiles.default。其中active属性优先。如果都没有设置,只会创建没有定义在profile中的bean
- 设置方法有6个:
- 作为DispatcherServlet的初始化参数
- 作为Web应用的上下文参数
- 作为JNDI条目
- 作为环境变量
- 作为JVM的系统属性
- 在集成测试类上,使用@ActiveProfiles注解设置
- 示例
-
web.xml
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring-bean-config.xml</param-value>
</context-param>
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>dev</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>appservlet</servlet-name>
<servlet-class>xxx</servlet-class>
<init-param>
<param-name>spring.profiles.default</param-name>
<param-value>dev</param-value>
</init-param>
</servlet>
</web-app>
-
- 条件化创建bean
- 使用限定符注解@Qualifier
- 每个bean,默认有个ID,也默认有个限定符,这两个的默认值“恰巧”都是类名的首字母小写
- 创建bean时,使用@Qualifier,装配beans是,还是用@Qualifier
最新文章
- 几种通过JDBC操作数据库的方法,以及返回数据的处理
- hosts 文件妙用
- 内网透过公网nginx和vpn实现微信接口调试
- asp.net 文件 操作方法
- IoC 依赖注入、以及在Spring中的实现
- yii2 数据验证
- c++ 一个类使用另外一个类的变量或方法
- JS滚动加载
- [Union]C++中Union学习笔记
- php值传递和引用传递
- 为什么Sql Server的查询有时候第一次执行很慢,第二次,第三次执行就变快了
- Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP开发环境!
- nodejs 监听文件夹变化的模块
- 简单的socket编程
- python入门:1-100所有数的和
- Android实现圆形的图片边角
- 使用VS2008进行WEB负载测试
- 代码查重工具sim
- Hibernate.cfg.xml详解
- 卓有成效的团队建设经验与见解 Team Leader你会带团队吗?