亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring @Profile注解如何實現多環境配置

發布時間:2020-08-01 14:44:50 來源:億速云 閱讀:395 作者:小豬 欄目:編程語言

小編這次要給大家分享的是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 激活方式

激活方式一

  • spring.profiles.active 激活方式
  • 如果 spring.profiles.active 未配置, 使用spring.profiles.default激活方式
  • 如果前面都為配置,就會加載沒有定義在profile中的bean;
     

激活方式二

在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注解如何實現多環境配置的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

皮山县| 泽库县| 小金县| 拜城县| 平武县| 新宁县| 邳州市| 尖扎县| 河源市| 故城县| 中方县| 乌兰察布市| 和静县| 富阳市| 平乐县| 东光县| 新民市| 临湘市| 赫章县| 通道| 巴彦淖尔市| 弋阳县| 儋州市| 乐至县| 黄龙县| 措勤县| 嘉黎县| 祁东县| 利辛县| 馆陶县| 邻水| 汶上县| 柏乡县| 兴文县| 浦江县| 涿州市| 铜梁县| 商都县| 富民县| 历史| 永新县|