最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java隨手筆記8之包、環(huán)境變量和訪問控制及maven profile實現(xiàn)多環(huán)境打包

 更新時間:2015年11月25日 15:30:16   投稿:mrr  
這篇文章主要介紹了Java隨手筆記8之包、環(huán)境變量和訪問控制及maven profile實現(xiàn)多環(huán)境打包的相關(guān)資料,需要的朋友可以參考下

一、java中的包

  Java利用包來組織代碼,一來使大型項目的代碼結(jié)構(gòu)清晰,二來包是一個命名空間的劃分,即不同包中可以有相同名字的類,只需在在類名前加上包名即可區(qū)分它們。

  Package xxx 必須位于java文件除了注釋以外的第一行,用來指明當前文件中的類屬于哪一個包,如果沒有package語句,則該文件中的類都屬于默認包。

  Import xxx用來在當前java文件中導(dǎo)入不屬于當前包中的類,從而可以在當前文件中使用它們。

二、java中的環(huán)境變量

1.path

  環(huán)境變量其實就是一組變量(廢話),它的作用是給系統(tǒng)和應(yīng)用程序提供參數(shù)。例如:path,它告訴系統(tǒng)和應(yīng)用程序一些系統(tǒng)必備的程序的存儲位置,比如你要運行ipconfig命令,系統(tǒng)去哪里找它呢,就是通過path變量,把它所存儲的位置挨個找一遍,直到找到為止。

  在java中,當我們要運行java程序,在控制臺輸入java xxx時,java這個應(yīng)用程序(exe文件)到哪里找呢?系統(tǒng)就得通過path,這樣就得把包含java這個應(yīng)用程序的目錄拷貝到path環(huán)境變量中,這樣以后,再運行java xxx 就不會出現(xiàn)“‘java'不是內(nèi)部或外部命令,也不是可運行的程序或批處理文件?!绷?。

2.classpath

  說完path,再來說說classpath,解決了java這個命令的問題,還有javac這個命令的問題,這里就牽扯到j(luò)ava中的包機制了。

  Java程序是由一個一個類構(gòu)成的,類之間可以相互調(diào)用,還有一些java語言已經(jīng)定義好的類,那么當程序要用到這些類的時候,去哪里找他們呢,這就需要classpath這個環(huán)境變量來指點迷津了。

  總結(jié):classpath指明了類查找路徑,如果類沒有被打包,那就需要將其所在目錄添加到classpath中,如果類被打包為JAR文件,則需要將JAR文件的實際名稱寫清楚。

Classpath一般設(shè)置為“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”

  其中.代表當前目錄,%JAVA_HOME%代表java jdk的路徑。Dt.jar中主要是swing包中的各種控件類。Tools.jar中是各種工具類。

  當編譯器碰到import語句時,就開始在CLASSPATH所包含的目錄中查找。

  (參考:http://www.linuxidc.com/Linux/2012-01/52713.htm

3.JAVA_HOME

  指明jdk的路徑

三、訪問權(quán)限控制

1.類成員的訪問控制

訪問控制符:public/protected/包訪問權(quán)限(無關(guān)鍵字即默認)/private

 

類本身

同包中的子類

不同包中的子類

同包中的非子類

不同包中的非子類

      總之

public

可以

可以

可以

可以

可以

都可以

private

可以

不可以

不可以

不可以

不可以

僅自身可見

default

可以

可以

不可以

可以

不可以

僅同包可見

protected

可以

可以

可以

可以

不可以

子類或者同包可見

2.類的訪問控制權(quán)限

類只有兩種訪問控制權(quán)限:默認(即包訪問控制權(quán)限)和public

下面還有點時間,接著給大家介紹maven profile實現(xiàn)多環(huán)境打包

項目開發(fā)需要有多個環(huán)境,一般為開發(fā),測試,預(yù)發(fā),正式4個環(huán)境,通過maven可以實現(xiàn)按不同環(huán)境進行打包部署,命令為:
mvn package -P dev

其中“dev“為環(huán)境的變量id, 可以自己定義, 我定義的名稱為:dev,qa,pre,prod , 具體在pom.xml中的配置如下:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
  ...... 
  <profiles> 
    <profile> 
      <id>dev</id> 
      <properties> 
        <env>dev</env> 
      </properties> 
      <activation> 
        <activeByDefault>true</activeByDefault> 
      </activation> 
    </profile> 
    <profile> 
      <id>qa</id> 
      <properties> 
        <env>qa</env> 
      </properties> 
    </profile> 
    <profile> 
      <id>pre</id> 
      <properties> 
        <env>pre</env> 
      </properties> 
    </profile> 
    <profile> 
      <id>prod</id> 
      <properties> 
        <env>prod</env> 
      </properties> 
    </profile> 
  </profiles> 
......  
  <build> 
    <filters> 
      <filter>config/${env}.properties</filter> 
    </filters> 
    <resources> 
      <resource> 
        <directory>src/main/resources</directory> 
        <filtering>true</filtering> 
      </resource> 
    </resources> 
    ...... 
  </build> 
</project> 

1.profiles定義了各個環(huán)境的變量id
2.filters中定義了變量配置文件的地址,其中地址中的環(huán)境變量就是上面profile中定義的值
3.resources中是定義哪些目錄下的文件會被配置文件中定義的變量替換,一般我們會把項目的配置文件放在src/main/resources下,像db,bean等,里面用到的變量在打包時就會根據(jù)filter中的變量配置替換成固定值

相關(guān)文章

  • 關(guān)于spring-security(記住密碼,CSRF)

    關(guān)于spring-security(記住密碼,CSRF)

    文章主要介紹了Spring Security中的PersistentTokenRepository、CSRF保護機制以及如何在登錄頁面添加記住我功能,并分享了相關(guān)實現(xiàn)代碼和配置
    2024-11-11
  • Awaitility同步異步工具實戰(zhàn)示例詳解

    Awaitility同步異步工具實戰(zhàn)示例詳解

    這篇文章主要為大家介紹了Awaitility同步異步工具實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Java實現(xiàn)的自定義迭代器功能示例

    Java實現(xiàn)的自定義迭代器功能示例

    這篇文章主要介紹了Java實現(xiàn)的自定義迭代器功能,結(jié)合具體實例形式分析了java簡單迭代器的實現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • java讀取文件內(nèi)容的三種方法代碼片斷分享(java文件操作)

    java讀取文件內(nèi)容的三種方法代碼片斷分享(java文件操作)

    本文介紹java讀取文件內(nèi)容的三種方法,代碼可以直接放到程序中使用,大家參考使用吧
    2014-01-01
  • 詳解spring boot應(yīng)用啟動原理分析

    詳解spring boot應(yīng)用啟動原理分析

    這篇文章主要介紹了詳解spring boot應(yīng)用啟動原理分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Java接口定義與實現(xiàn)方法分析

    Java接口定義與實現(xiàn)方法分析

    這篇文章主要介紹了Java接口定義與實現(xiàn)方法,簡單說明了接口的概念、功能,并結(jié)合實例形式分析了接口的相關(guān)定義與使用技巧,需要的朋友可以參考下
    2017-11-11
  • Java中泛型的示例詳解

    Java中泛型的示例詳解

    泛型機制在項目中一直都在使用,不僅如此,很多源碼中都用到了泛型機制。本文將通過一些示例帶大家深入了解一下Java的泛型機制,需要的可以了解一下
    2022-10-10
  • java基礎(chǔ)入門之IO流

    java基礎(chǔ)入門之IO流

    流是一種抽象概念,它代表了數(shù)據(jù)的無結(jié)構(gòu)化傳遞。。用來進行輸入輸出操作的流就稱為IO流。換句話說,IO流就是以流的方式進行輸入輸出
    2021-06-06
  • MyBatisPlus+Spring實現(xiàn)聲明式事務(wù)的方法實現(xiàn)

    MyBatisPlus+Spring實現(xiàn)聲明式事務(wù)的方法實現(xiàn)

    本文主要介紹了MyBatisPlus+Spring實現(xiàn)聲明式事務(wù)的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Java中的動態(tài)代理實現(xiàn)代碼實例

    Java中的動態(tài)代理實現(xiàn)代碼實例

    這篇文章主要介紹了Java中的動態(tài)代理實現(xiàn)代碼實例,jdk動態(tài)代理本質(zhì)上是使用被代理對象的類加載器,通過被代理類實現(xiàn)的接口在運行時動態(tài)構(gòu)造出代理類來增強原始類的功能的方法,需要的朋友可以參考下
    2023-12-12

最新評論

青冈县| 建宁县| 健康| 视频| 安多县| 黑龙江省| 大城县| 建平县| 陆川县| 林周县| 凤阳县| 华坪县| 斗六市| 紫阳县| 建始县| 克什克腾旗| 彩票| 海宁市| 拉萨市| 蒲江县| 曲周县| 黄浦区| 土默特右旗| 昌乐县| 怀安县| 松阳县| 长阳| 青铜峡市| 宜良县| 桃源县| 光泽县| 大新县| 湖口县| 耿马| 沧源| 丹寨县| 民勤县| 崇明县| 湘潭县| 冀州市| 蒙山县|