SpringMVC中的profile使用
在SpringMVC中,如果要用到环境自动切换,可以借助profile来实现,例如:
XML配置中:
<!-- 开发环境 dev-->
<beans profile="dev">
<bean id="beanname" class="com.pz.demo.ProductDevRPC"/>
</beans>
<beans profile="test">
<bean id="beanname" class="com.pz.demo.ProductTestRPC"/>
</beans>
<!-- 生产环境 product-->
<beans profile="prod">
<bean id="beanname" class="com.pz.demo.ProductProdRPC"/>
</beans>
注解中使用@profile
@Profile(value="prod")
public class EnvProdConfig {
}
@Profile(value="test")
public class EnvTestConfig {
}
@Profile(value="dev")
public class EnvDevConfig {
}
在web.xml中需要配置
<context-param>
<param-name>spring.profiles.default</param-name>
<param-value>prod</param-value>
</context-param>
同理也可以拿来在根据不同环境配置不同的日志级别和数据源,这样就不需要频繁的修改代码,只需要修改一下配置重启应用服务器即可
SpringBoot中使用profile
SpringBoot集成了上面一些作法,另外开辟了一些新的方式,因为SpringBoot无web.xml配置文件
我们来看看具体如何使用
application.properties是SpringBoot默认加载的,全局配置,则全部放在这里,假如有需要不同环境,配置不同的参数,比如日志、数据源,则放在不同的properties文件下面,在application.properties上面配置一句话即可:
## 开发/测试/生产环境分别对应dev/test/prod
spring.profiles.active=dev