时间:2021-05-20
一 前言
springboot中使用多环境开发如此简单,你想知道spring中是如何实现的么?一起来学习吧!!你为什么不好好学习基础,面试一直被diss呢?说到底还不是你认为都会了,其实你都不会,一问三不知!!
二 @profile实现多环境配置
2.1 @profile配置
使用@profile注解的目的是未了多环境开发,比如开发环境使用dev, 生产环境使用prod,就可以使用@Profile注解实现不同的开发环境使用不同的数据源;
@profile注解 使用说明:
spring3.2之前 @Profile注解用在类上
spring3.2 之后 @Profile注解用在 方法上
如果你是在xml中配置,示例如下
<beans profile="dev"> <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://localhost:3306/zszxzb" p:username="root" p:password="1234"/></beans><beans profile="prod"> <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://localhost:3306/zszxzb" p:username="root" p:password="1234"/></beans>2.2 激活方式
激活方式一
激活方式二
在web.xml 中配置
<context-param> <param-name>spring.profiles.active</param-name> <param-value>dev</param-value></context-param><servlet> <servlet-name>zszxzServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>spring.profiles.default</param-name> <param-value>dev</param-value> </init-param> <load-on-startup>1</load-on-startup></servlet><servlet-mapping> <servlet-name>zszxzServlet</servlet-name> <url-pattern>/</url-pattern></servlet-mapping>激活方式三
在类上使用@ActiveProfiles注解
测试如下
@RunWith(SpringJUnit4ClassRunner.class)//创建spring应用上下文@ContextConfiguration(classes= DataSourceConfig.class)//加载配置类@ActiveProfiles("dev")public class ProfileTest { @Autowired private DataSource dataSource; @Test public void sheetTest(){ JdbcTemplate jdbc = new JdbcTemplate(dataSource); List<String> query = jdbc.query("select * from customer", new RowMapper<String>() { @Override public String mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getLong("id") + ":" + rs.getString("customer_name"); } }); // [19:知识追寻者, 20:知识追寻者, 21:知识追寻者, 22:知识追寻者, 23:知识追寻者] System.out.println(query); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
@Profile注解详解@Profile:Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;开发环境develop、测试环境test、
本文主要介绍spring中@profile的使用方法以及在什么情况下使用。首先说一下为什么要使用这个@profile注解。@profile注解是spring提供
properties文件profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;例如:application
spring中@profile与maven中的profile很相似,通过配置来改变参数。例如在开发环境与生产环境使用不同的参数,可以配置两套配置文件,通过@pr
Spring各个版本新特性Spring3.1新特性1.添加了引入环境profile功能2.添加了@enable注解,使用特定功能3.添加了对声明式缓存的支持,能