1. 程式人生 > >通過Spring Bean 注入static變數,來設計一套適合測試,開發,生產環境的配置項

通過Spring Bean 注入static變數,來設計一套適合測試,開發,生產環境的配置項

(http://blog.csdn.net/initphp/article/details/8834844)

這邊文章的目的主要是為了在spring開發web專案的時候,讓我們的測試,開發,生產環境的配置項

  • .properties作為配置檔案。

我們首先需要建立一個config資料夾,然後建立開發,測試,生產環境的.properties配置項檔案。

例如,dev.properties檔案為開發環境,pre.properties檔案為生產環境。

dev.properties配置內容為:

[html] view plain copy  print?
  1. #test  
  2. test.username
    =initphp

那麼,我們這個.properties檔案的配置,如何打入xml檔案中呢?別急,其實很簡單,我們需要修改pom.xml

  • 配置pom.xml
[html] view plain copy  print?
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
    >
  4.     <!-- pom詳細引數配置 -->
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <artifactId>xxxx.server</artifactId>
  7.     <name>xxxx server</name>
  8.     <packaging>war</packaging>
  9.     <version>1.0.0</version>
  10.     <!-- 自定義的引數變數,使用 例如:${org.springframework-version} -->
  11.     <properties>
  12.         <java-version>1.6</java-version>
  13.         <org.springframework-version>3.1.1.RELEASE</org.springframework-version>
  14.         <org.aspectj-version>1.6.10</org.aspectj-version>
  15.         <org.slf4j-version>1.6.6</org.slf4j-version>
  16.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  17.     </properties>
  18.     <!-- 配置檔案 -->
  19.     <profiles>
  20.         <profile>
  21.             <id>dev</id>
  22.             <properties>
  23.                 <env>dev</env>
  24.             </properties>
  25.             <activation>
  26.                 <activeByDefault>true</activeByDefault>
  27.             </activation>
  28.         </profile>
  29.         <profile>
  30.             <id>qa</id>
  31.             <properties>
  32.                 <env>qa</env>
  33.             </properties>
  34.         </profile>
  35.         <profile>
  36.             <id>pre</id>
  37.             <properties>
  38.                 <env>pre</env>
  39.             </properties>
  40.         </profile>
  41.         <profile>
  42.             <id>prod</id>
  43.             <properties>
  44.                 <env>prod</env>
  45.             </properties>
  46.         </profile>
  47.     </profiles>
  48.     <!-- 依賴的包 -->
  49.     <dependencies>
  50.     </dependencies>
  51.     <!-- 編譯設定 -->
  52.     <build>
  53.         <filters>
  54.             <filter>config/${env}.properties</filter>
  55.         </filters>
  56.         <resources>
  57.             <resource>
  58.                 <directory>src/main/resources</directory>
  59.                 <filtering>true</filtering>
  60.             </resource>
  61.         </resources>
  62.         <plugins>
  63.             <plugin>
  64.                 <artifactId>maven-eclipse-plugin</artifactId>
  65.                 <version>2.9</version>
  66.                 <configuration>
  67.                     <additionalProjectnatures>
  68.                         <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
  69.                     </additionalProjectnatures>
  70.                     <additionalBuildcommands>
  71.                         <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
  72.                     </additionalBuildcommands>
  73.                     <downloadSources>true</downloadSources>
  74.                     <downloadJavadocs>true</downloadJavadocs>
  75.                 </configuration>
  76.             </plugin>
  77.             <plugin>
  78.                 <groupId>org.apache.maven.plugins</groupId>
  79.                 <artifactId>maven-compiler-plugin</artifactId>
  80.                 <version>2.5.1</version

    相關推薦

    通過Spring Bean 注入static變數設計適合測試開發生產環境配置

    (http://blog.csdn.net/initphp/article/details/8834844) 這邊文章的目的主要是為了在spring開發web專案的時候,讓我們的測試,開發,生產環境的配置項 .properties作為配置檔案。 我們首先需要建

    Java學習筆記38:通過Spring Bean 注入static變數設計適合測試開發生產環境配置

    這邊文章的目的主要是為了在spring開發web專案的時候,讓我們的測試,開發,生產環境的配置項 .properties作為配置檔案。 我們首先需要建立一個config資料夾,然後建立開發,測試,生產環境的.properties配置項檔案。 例如,dev.proper

    webpack根據開發生產環境配置不同變數--webpack.DefinePlugin

    webpack有一個DefinePlugin介面,可以實現根據開發與生產環境配置不同變數。範例如下: 需求:開發環境請求baseUrl = '';生產環境請求 baseUrl = 'http://localhost:8066' 實施: 1,webpack.dev.config.js:

    50高大上的後臺管理系統模板總有適合

    50套高大上的後臺管理系統模板,總有一套適合你 碼個蛋 2018-12-20 21:23:29 作者 | web小二 來源 | web前端開發(web_qdkf) 從13年開始,我由開發慢慢走向設計,目前也已經快5年了,但是真正開始做UI設計這塊是在2016年。 在15

    Spring 無法注入靜態變數直接在靜態方法中獲取bean

    模組中想把一個類寫成工具類,提供靜態方法呼叫。但是方法中要用到@autowire注入的dao類變數,它要能在靜態方法中使用的話本身就加上static,但是static變數是無法用@autowire注入的。 @Autowired private AppConfMapper m

    Spring依賴注入static靜態變數相關問題

    Spring依賴注入static靜態變數相關問題   版權宣告:本文為博主原創文章,轉載請註明出處,謝謝。 https://blog.csdn.net/rongxiang111/article/details/78881371 1.Spring不支援依賴注入static靜態變數

    Spring注入static靜態成員變數會導致空指標異常問題及解決方案

    首先,,按照常規的注入,,我們會直接在需要注入的物件上加註解@Autowired,,,執行服務的的時候,,,就會出現呢空指標異常java.lang.NullPointerException,,異常的原因是 靜態變數/類變數不是物件的屬性,而是一個類的屬性,spring則是基於

    C/C++---static函式static成員函式static變數static成員變數

    首先說一下記憶體的五個區: 棧(stack):由編譯器自動分配釋放,存放函式的引數值,區域性變數的值(除static),其操作方式類似於資料結構中的棧。 堆(heap):一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由OS回收。注意它與資料結

    使用spring的@Value註解如何注入static變數

    兩種實現方式://[email protected]方式 @Value("${check_rule}") private String checkRule; @Value("${id_type

    spring通過@Configuration @Bean注入Bean

    1.spring mvc專案可以直接在controller裡面注入request,response @Autowired private HttpServletRequest request; @Autowired private HttpServletResponse

    Spring Bean注入/單例理解/迴圈依賴

    理解迴圈依賴問題,首先明白spring有四種注入方式。 第一種,SET注入a類中持有b類的引用,並且a類有b的set方法。在bean中新增<property>標籤即可注入。實質上是將b例項化,然後呼叫set方法注入。 <bean id="a" class="com.qunar.poj

    深入淺出maven系列(三)---maven構建ssh工程(父工程與子模組的拆分與耦合) 前節我們初識了maven並且掌握了maven的常規使用節就講講它的一個重要的場景也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要加油!!!

            前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!! 一、maven父工

    Spring如何注入靜態變數

    原文地址:http://www.connorgarvey.com/blog/?p=105 Spring的架構對於靜態類和靜態方法的支援並不是很友好。Spring沒有現成的辦法來完成靜態欄位的注入,這是因為Spring根本就無法檢測到這些靜態屬性。Spring的設計者意識到這個缺點,然後提出瞭如下的解決方案:

    spring bean 注入失敗的幾種原因

    1.異常資訊 2.有可能引起的原因: 1.在applicationContext-service.xml的配置檔案裡的包掃描不對 2.在web.xml裡沒有載入spring容器 3.分散式工

    spring annotation 注入static 屬性

    第一種方法: @Componentpublic class UserUtils{  private static UserAccessor userAccessor;   /**   * Sets t

    Spring bean注入方式

    Spring bean提供了3中注入方式:屬性注入和構造方法注入 1、屬性注入: 1 <bean id="dept" class="com.proc.bean.Dept"> 2 <property name="id" value="2"/&

    基於spring boot 獨立開發統一認證解決方案易讀、易拓展

    follow 公司 登錄頁面 跳轉 所有 不可 權限 github 源碼 公司需求搭建公司內部系統,需要使用到統一認證,在查看shiro等發現接入無頭緒,而且存在不可控性,對於認證系統高可用、可靠性會顯得無比重要,所以筆者決定手動擼一套統一認證解決方案。 筆者通過sprin

    基礎 | 36個經典面試題測您的Java基礎

    到此為止,「Java基礎」系列的面試點已更新完畢,但關於Java NIO和Java8新特性之Lambda表示式部分的內容還停留在概述階段,不夠系統和深入,後續有機會再深入學習和更新。 在此,主要將Java基礎系列以面試題的形式進行彙總,用做面試前的準備與自測提綱。 公眾號後

    必須拿下的java面試題看你卡到第幾題?

    必須拿下的java面試題,來過一篇,看你卡到第幾題? 靜態方法只能訪問靜態成員,例項方法可以訪問靜態和例項成員。之所以不允許靜態方法訪問例項成員變數,是因為例項成員變數是屬於某個物件的,而靜態方法在執行時,並不一定存在物件。靜態方法中也不能使用關鍵字this。 倒排索引 In

    Linux:寫一個指令碼給每臺主機裝上JDK並配好環境變數

     當我們有很多臺主機,想在每臺機器上都安裝一樣的某些軟體時,可以通過指令碼去實現。 首先建立一個資料夾noarch(這裡是因為我之前配置的目錄就在這,所以就寫這個了,你可以隨便寫個名字) mkdir noarch 把事先下載好的軟體包放在這個目錄下(這個過程所有機器