欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、java中的包

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

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

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

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

1.path

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

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

2.classpath

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

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

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

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

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

  當(dāng)編譯器碰到import語句時(shí),就開始在CLASSPATH所包含的目錄中查找。

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

3.JAVA_HOME

  指明jdk的路徑

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

1.類成員的訪問控制

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

 

類本身

同包中的子類

不同包中的子類

同包中的非子類

不同包中的非子類

      總之

public

可以

可以

可以

可以

可以

都可以

private

可以

不可以

不可以

不可以

不可以

僅自身可見

default

可以

可以

不可以

可以

不可以

僅同包可見

protected

可以

可以

可以

可以

不可以

子類或者同包可見

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

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

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

項(xiàng)目開發(fā)需要有多個(gè)環(huán)境,一般為開發(fā),測試,預(yù)發(fā),正式4個(gè)環(huán)境,通過maven可以實(shí)現(xiàn)按不同環(huán)境進(jì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定義了各個(gè)環(huán)境的變量id
2.filters中定義了變量配置文件的地址,其中地址中的環(huán)境變量就是上面profile中定義的值
3.resources中是定義哪些目錄下的文件會(huì)被配置文件中定義的變量替換,一般我們會(huì)把項(xiàng)目的配置文件放在src/main/resources下,像db,bean等,里面用到的變量在打包時(shí)就會(huì)根據(jù)filter中的變量配置替換成固定值

相關(guān)文章

  • java 字浮串提取方法匯集

    java 字浮串提取方法匯集

    用方法toCharArray public char[] toCharArray()
    2008-10-10
  • 線程池調(diào)用kafka發(fā)送消息產(chǎn)生的內(nèi)存泄漏問題排查解決

    線程池調(diào)用kafka發(fā)送消息產(chǎn)生的內(nèi)存泄漏問題排查解決

    這篇文章主要為大家介紹了線程池調(diào)用kafka發(fā)送消息產(chǎn)生的內(nèi)存泄漏問題排查解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • SpringBoot熱部署啟動(dòng)關(guān)閉流程詳解

    SpringBoot熱部署啟動(dòng)關(guān)閉流程詳解

    Spring?Boot啟動(dòng)熱部署是一種技術(shù),它能讓開發(fā)者在不重啟應(yīng)用程序的情況下實(shí)時(shí)更新代碼。這樣可以提高開發(fā)效率,避免頻繁重啟應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-04-04
  • springboot?filter配置多個(gè)時(shí),執(zhí)行順序問題

    springboot?filter配置多個(gè)時(shí),執(zhí)行順序問題

    這篇文章主要介紹了springboot?filter配置多個(gè)時(shí),執(zhí)行順序問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot全局異常處理機(jī)制和配置攔截器方式

    SpringBoot全局異常處理機(jī)制和配置攔截器方式

    這篇文章主要介紹了SpringBoot全局異常處理機(jī)制和配置攔截器方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • spring事務(wù)隔離級(jí)別、傳播機(jī)制以及簡單配置方式

    spring事務(wù)隔離級(jí)別、傳播機(jī)制以及簡單配置方式

    這篇文章主要介紹了spring事務(wù)隔離級(jí)別、傳播機(jī)制以及簡單配置方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Java實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出操作詳解

    Java實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出操作詳解

    在平常的辦公工作中,導(dǎo)入導(dǎo)出excel數(shù)據(jù)是常見的需求,今天就來看一下通過Java如何來實(shí)現(xiàn)這個(gè)功能,感興趣的朋友可以了解下
    2022-02-02
  • Java Spring開發(fā)環(huán)境搭建及簡單入門示例教程

    Java Spring開發(fā)環(huán)境搭建及簡單入門示例教程

    這篇文章主要介紹了Java Spring開發(fā)環(huán)境搭建及簡單入門示例,結(jié)合實(shí)例形式分析了spring環(huán)境搭建、配置、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-11-11
  • Java實(shí)現(xiàn)快速排序算法的完整示例

    Java實(shí)現(xiàn)快速排序算法的完整示例

    這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)快速排序算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • java 替換docx文件中的字符串方法實(shí)現(xiàn)

    java 替換docx文件中的字符串方法實(shí)現(xiàn)

    這篇文章主要介紹了java 替換docx文件中的字符串方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02

最新評(píng)論