小編這次要給大家分享的是Spring @Profile注解如何實現多環境配置,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
公司主營業務:網站建設、網站制作、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯公司是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯公司推出慶云免費做網站回饋大家。
一 前言
springboot中使用多環境開發如此簡單,你想知道spring中是如何實現的么?一起來學習吧!!你為什么不好好學習基礎,面試一直被diss呢?說到底還不是你認為都會了,其實你都不會,一問三不知!!
二 @profile實現多環境配置
2.1 @profile配置
使用@profile注解的目的是未了多環境開發,比如開發環境使用dev, 生產環境使用prod,就可以使用@Profile注解實現不同的開發環境使用不同的數據源;
@profile注解 使用說明:
spring3.2之前 @Profile注解用在類上
spring3.2 之后 @Profile注解用在 方法上
/** * @Author lsc * <p>spring3.2之前 @Profile注解用在類上 * spring3.2 之后 @Profile注解用在 方法上 * </p> */ @Configuration public class DataSourceConfig { @Bean @Profile("dev") public DataSource devDataSource() { System.out.println(" dev DataSource !!"); BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName("com.MySQL.jdbc.Driver"); basicDataSource.setUrl("jdbc:mysql://localhost:3308/zszxz"); basicDataSource.setUsername("root"); basicDataSource.setPassword("1234"); return basicDataSource; } @Bean @Profile("prod") public DataSource prodDataSource() { System.out.println(" prod DataSource !!"); BasicDataSource basicDataSource = new BasicDataSource(); basicDataSource.setDriverClassName("com.mysql.jdbc.Driver"); basicDataSource.setUrl("jdbc:mysql://localhost:3306/zszxz"); basicDataSource.setUsername("root"); basicDataSource.setPassword("1234"); return basicDataSource; } }
如果你是在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); } }
看完這篇關于Spring @Profile注解如何實現多環境配置的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。
網頁標題:Spring@Profile注解如何實現多環境配置
URL鏈接:http://vcdvsql.cn/article16/pdeegg.html
成都網站建設公司_創新互聯,為您提供軟件開發、網站排名、全網營銷推廣、App設計、網頁設計公司、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯