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

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)行的程序或批處理文件?!绷恕?/p>

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所包含的目錄中查找。

 ?。▍⒖迹?a >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)文章

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

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

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

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

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

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

    這篇文章主要介紹了Java實(shí)現(xiàn)的自定義迭代器功能,結(jié)合具體實(shí)例形式分析了java簡單迭代器的實(shí)現(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)用啟動(dòng)原理分析

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

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

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

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

    Java中泛型的示例詳解

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

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

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

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

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

    Java中的動(dòng)態(tài)代理實(shí)現(xiàn)代碼實(shí)例

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

最新評(píng)論

德州市| 报价| 凉山| 东宁县| 宜阳县| 洪洞县| 东辽县| 景宁| 资中县| 庆云县| 武安市| 富平县| 双峰县| 资源县| 南溪县| 柳林县| 仁怀市| 葫芦岛市| 都安| 桂平市| 德格县| 图们市| 青浦区| 天镇县| 渭源县| 江北区| 福鼎市| 甘泉县| 铁岭市| 宜春市| 平武县| 宣恩县| 颍上县| 平南县| 西乡县| 建昌县| 永定县| 五指山市| 敦煌市| 唐山市| 土默特右旗|