国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

angular2是做網(wǎng)站的還是手機(jī)的seo排名的公司

angular2是做網(wǎng)站的還是手機(jī)的,seo排名的公司,網(wǎng)站建設(shè) 空間選擇,手機(jī)網(wǎng)店開店網(wǎng)站文章目錄 Maven安裝MavenMaven的工作流程配置MavenMaven的使用module和project的關(guān)系如何用Maven導(dǎo)包 如何用Maven進(jìn)行項(xiàng)目構(gòu)建指令介紹clean指令compile指令package指令install指令 Maven的依賴管理如何導(dǎo)包scope作用域依賴傳遞依賴沖突 使用Maven開發(fā)項(xiàng)目Junit如何使用Junit …

文章目錄

  • Maven
    • 安裝Maven
    • Maven的工作流程
    • 配置Maven
    • Maven的使用
      • module和project的關(guān)系
      • 如何用Maven導(dǎo)包
    • 如何用Maven進(jìn)行項(xiàng)目構(gòu)建
      • 指令介紹
      • clean指令
      • compile指令
      • package指令
      • install指令
    • Maven的依賴管理
      • 如何導(dǎo)包
      • scope作用域
      • 依賴傳遞
      • 依賴沖突
    • 使用Maven開發(fā)項(xiàng)目
    • Junit
      • 如何使用Junit

Maven

  • Maven是一個(gè)項(xiàng)目管理工具,主要有兩個(gè)功能:
    • 項(xiàng)目構(gòu)建
      • 指可以幫助我們編譯項(xiàng)目打包項(xiàng)目(可以幫助我們把自己的項(xiàng)目打包成一個(gè).jar文件)、安裝項(xiàng)目、部署項(xiàng)目
    • 依賴管理
      • 當(dāng)我們的項(xiàng)目變得復(fù)雜之后,項(xiàng)目中的依賴越來越多,管理起來也越來越復(fù)雜,Maven可以幫助我們?nèi)ス芾磉@些依賴。

安裝Maven

版本說明

  • JDK:1.8
  • Maven:https://maven.apache.org/download.cgi(不要下最新版本)

解壓

  • 證明安裝成功 證明安裝成功

配置環(huán)境變量

  • 打開高級系統(tǒng)設(shè)置,配置系統(tǒng)變量
    • 在這里插入圖片描述
  • 配置環(huán)境變量
    • 在這里插入圖片描述
      最后在cmd中輸入mvn -v,查看當(dāng)前版本

Maven的工作流程

傳統(tǒng)寫代碼的問題

  1. jar包反復(fù)存儲(chǔ),占用空間
  2. 手動(dòng)管理,容易混亂

Maven的工作流程圖

在這里插入圖片描述

  • 本地倉庫:其實(shí)就是本地存放Jar包的一個(gè)路徑,統(tǒng)一的集中式的去管理本地的所有jar包
  • 中央倉庫:中央倉庫其實(shí)就是Maven 提供的一個(gè)倉庫,里面收錄了世界上所有的開源的jar包,但是在國外,網(wǎng)速慢。
  • 鏡像倉庫:阿里等公司會(huì)去定期同步中央倉庫,把中央倉庫的內(nèi)容同步過來。這樣我們后續(xù)在下載jar包的時(shí)候,就可以讓他指定去鏡像倉庫下載,這樣下載的速度就會(huì)比較快。

配置Maven

  • 配置settings.xml
    • conf文件里
    • 配置本地倉庫的路徑
      在這里插入圖片描述
    • 配置鏡像倉庫
      在這里插入圖片描述
    • 配置JDK的編譯版本
      在這里插入圖片描述

源碼

<settings>...<mirrors><mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror></mirrors>...</settings>-------------------------------------------------------------------------------------<settings>...<profiles><profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile></profiles>...
</settings>
  • 配置idea
    • 在Settings中搜索Maven
      在這里插入圖片描述
    • Other Settings —> Settings for New Projects —> Maven
      在這里插入圖片描述

Maven的使用

Maven工程的要求:

  1. 在項(xiàng)目的根路徑下,有一個(gè)pom.xml文件

  2. 工程目錄是如下的結(jié)構(gòu):

  • ProjectName

    • src(src里面不直接寫包)
      • main
        • java(寫代碼的地方,指源代碼的路徑)
        • resources(配置文件地方,指配置文件的路徑)
      • test
        • java(單元測試代碼,指測試類的存放路徑)
        • resources(單元測試的配置文件,指測試類需要用到的文件)
  • pom.xml(在項(xiàng)目的根目錄下)

eg:
在這里插入圖片描述


怎么把一個(gè)項(xiàng)目轉(zhuǎn)換成maven項(xiàng)目

  1. src里面建幾個(gè)包
    • src/main/java
      • mark as sources
    • src/main/resources
      • mark as resources
    • src/test/java
    • src/test/resources
  2. 創(chuàng)建一個(gè)pom.xml
  3. 對著pom.xml點(diǎn)擊add as maven project

怎么通過idea創(chuàng)建一個(gè)Maven項(xiàng)目

在這里插入圖片描述

  • GroupId:指公司名、組織名
    • eg:com.coo1heisenberg
  • ArtifactId:項(xiàng)目名
    • eg:test_maven

module和project的關(guān)系

  • project

    一個(gè)項(xiàng)目是IDEA開發(fā)工作的頂級組織單位。在其完成的形式中,一個(gè)項(xiàng)目可能代表一個(gè)完整的軟件解決方案
    項(xiàng)目是以下內(nèi)容的集合:

    • 工作成果:源代碼、腳本、配置文件、文檔、包等。
    • 用于開發(fā)、編譯、運(yùn)行和測試代碼的SDK和庫。
    • 在項(xiàng)目上下文中表示你的工作偏好設(shè)置
      • 一個(gè)項(xiàng)目有一個(gè)或者多個(gè)模塊作為其部件
  • module

    • 模塊是項(xiàng)目的一部分,你可以獨(dú)立的編譯、運(yùn)行、測試和調(diào)試。
    • 模塊是一種在維護(hù)公共項(xiàng)目配置的同事降低大型項(xiàng)目復(fù)雜性的方法。
    • 模塊可以重復(fù)使用:如果需要,可以再多個(gè)項(xiàng)目中包含一個(gè)模塊。

如何用Maven導(dǎo)包

  1. 打開https://mvnrepository.com/。搜索要用的包,找到指定的版本
  2. 拷貝坐標(biāo)
    • groupIdartifactId、version 叫做坐標(biāo),可以唯一確定一個(gè)包
  3. 只需要在 pom.xml文件中聲明jar包的坐標(biāo)就可以了,添加了之后點(diǎn)擊 import changes

eg:
在這里插入圖片描述


如何用Maven進(jìn)行項(xiàng)目構(gòu)建

指令介紹

項(xiàng)目構(gòu)建其實(shí)就是 Maven可以幫助我們?nèi)z查項(xiàng)目,編譯項(xiàng)目,測試項(xiàng)目,打包項(xiàng)目,安裝項(xiàng)目,部署項(xiàng)目

在這里插入圖片描述

clean指令

Maven指令的執(zhí)行依賴于一些jar

  • 方式一:通過cmd執(zhí)行
    在這里插入圖片描述
  • 方式二:通過idea自帶的命令行執(zhí)行
    • 得以管理員身份打開idea,否則識(shí)別不出mvn命令
      在這里插入圖片描述
  • 方式三:直接使用maven的可視化插件(常用)
    在這里插入圖片描述

compile指令

  • compile是編譯的意思,可以幫助我們生成一個(gè)target文件夾
  • 以后,只能在java文件夾中寫代碼,在resources文件夾里面,寫配置文件
    • src/main/java中的代碼,會(huì)編譯到target/classes里面
    • src/main/java中的配置文件、其他文件,不會(huì)進(jìn)入到target/classes里面
    • src/main/resources中的代碼,會(huì)拷貝到target/classes里面
  • test文件是運(yùn)行單元測試的,只會(huì)運(yùn)行test文件里面java的單元測試
    • 先引入Maven中的Junit
    • Assert.assertEquals():在單元測試?yán)锩?#xff0c;使用Assert斷言幫我們完成自動(dòng)化的檢驗(yàn)工作
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope>
</dependency>

package指令

package可以幫助我們把項(xiàng)目打包

  • 打包的名字:artifactId-version.jar(是artifactId加上文件的版本)
  • 打包的格式:
    • jar

      • 默認(rèn)的打包格式
    • war

      • 需要指定
      • 指定的格式為:
<!-- 指定打包的格式,默認(rèn)為jar ,可以配置為 war 和 pom -->
<packaging>jar</packaging>

install指令

  • install命令可以幫助我們把package生成的jar包復(fù)制到本地倉庫中
  • 需要掌握根據(jù) groupId、artifactId 、version找本地的jar
    eg:在這里插入圖片描述

Maven的依賴管理

如何導(dǎo)包

按照上面說到的三步流程執(zhí)行即可

scope作用域

每個(gè)依賴包都有自己作用范圍
<scope>XXX</scope>
eg:

在這里插入圖片描述

  • test
    • 僅僅在測試包(src/test/java)路徑下有效,在 src/main/java路徑下失效。
  • provided
    • 在編譯的時(shí)候生效,在運(yùn)行的時(shí)候失效
  • runtime
    • 在編譯的時(shí)候失效,在運(yùn)行的時(shí)候生效
    • 最常見的是:數(shù)據(jù)庫的驅(qū)動(dòng)包
    • 設(shè)計(jì)原因:就是防止寫代碼的時(shí)候,用了MySQL特有的類,切數(shù)據(jù)庫的時(shí)候不好操作
  • compile
    • 默認(rèn)的作用域
    • 在編譯和運(yùn)行的時(shí)候都生效

依賴傳遞

  • 指依賴具有傳遞性
  • eg:引入了commons-dbcp,而commons-dbcp又引入了commons-pool
    在這里插入圖片描述

依賴沖突

  • 當(dāng)在同一個(gè)項(xiàng)目中,導(dǎo)入同一個(gè)依賴的不同的版本,就會(huì)有沖突的問題。
    在這里插入圖片描述
  • 如何解決依賴沖突
    • 聲明優(yōu)先原則
      • 是指這同一個(gè)項(xiàng)目的不同的版本的jar包,聲明優(yōu)先僅僅指的是第二級后面的依賴誰先在pom.xml中聲明,以誰為準(zhǔn)
      • 如果在pom.xml里,同時(shí)依賴了兩個(gè)版本。是以最后一個(gè)指定的為準(zhǔn)
    • 就近原則
      • 在進(jìn)行依賴傳遞的時(shí)候,誰傳遞的次數(shù)比較少,以誰為準(zhǔn)
      • 就近原則的優(yōu)先級高于聲明優(yōu)先原則
    • 手動(dòng)排除
      • 手動(dòng)去排除傳遞過來的依賴

eg:

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.22</version>
</dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.13</version>
</dependency>其中:
spring-context依賴了spring-beans(5.3.22) 優(yōu)先!!!
spring-jdbc依賴了spring-beans(5.3.13)--------------------------------------------------<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.13</version>
</dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.22</version>
</dependency>(優(yōu)先!!!)--------------------------------------------------<dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.4</version><!-- 手動(dòng)排除 --><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></exclusion><exclusion><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></exclusion></exclusions></dependency>
  • 提取常量
    • 這個(gè)是一個(gè)避免依賴沖突的方法。是后面工作中主要推薦的做法。
    • 常量名字不要隨便取

eg:

    <properties><!--1. 提取了常量之后,可以避免依賴沖突的問題2. 提取了常量之后,可以方便我們后期管理這些依賴(查看版本,更換版本)--><spring.version>5.3.3</spring.version><mysql.version>5.1.47</mysql.version><druid.version>1.2.6</druid.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency></dependencies>

使用Maven開發(fā)項(xiàng)目


路徑問題的建議

  1. 不要用絕對路徑
  2. 最好使用類加載器的方式去讀文件

切換成Maven之后,開發(fā)模式的變化

  1. 之前需要手動(dòng)下jar包,拷貝,添加到庫文件;現(xiàn)在只用引入坐標(biāo)
  2. 之前讀配置文件,使用new FileInputStream();現(xiàn)在讀配置文件,需要用classLoader,配置文件的位置需要在src/main/resource

eg:
以連接池中的druid舉例:

public class druidDemo {public static void main(String[] args) throws Exception {testNormal();}private static void testNormal() throws Exception {Properties properties = new Properties();// 1. 絕對路徑不要使用//  properties.load(new FileInputStream("druid.properties"));ClassLoader classLoader = druidDemo.class.getClassLoader();// 現(xiàn)在配置文件 需要用classLoader拿// 通過類加載器拿文件,會(huì)通過target/classes里面拿URL resource = classLoader.getResource("druid.properties");properties.load(new FileInputStream(resource.getPath()));// 或者// properties.load(classLoader.getResourceAsStream("druid.properties"));DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);Connection connection = dataSource.getConnection();Statement statement = connection.createStatement();boolean execute = statement.execute("insert into t_staff(name) values ('zs')");System.out.println(execute);}
}
<?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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.coo1heisenberg</groupId><artifactId>test_maven</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>module1</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><druid.version>1.2.6</druid.version></properties><dependencies><!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version><scope>runtime</scope></dependency></dependencies></project>
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?
characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username=root
password=123456

Junit

Junit是一個(gè)被廣泛使用的測試工具,可以幫助我們運(yùn)行我們指定的方法

如何使用Junit

  • 導(dǎo)包
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version>
</dependency>
  • 使用

    • @Test
    • @After
      • 修飾的方法會(huì)在測試方法運(yùn)行之后執(zhí)行
      • 在每一次測試方法的前后都會(huì)運(yùn)行
      • 一般用來準(zhǔn)備數(shù)據(jù)
    • @Before
      • 修飾的方法會(huì)在測試方法運(yùn)行之前執(zhí)行
      • 在每一次測試方法的前后都會(huì)運(yùn)行
      • 一般用來銷毀數(shù)據(jù)
    • @BeforeClass
    • @AfterClass
  • 使用的注意事項(xiàng):

    • @BeforeClass@AfterClass修飾的方法必須是靜態(tài)的
    • @Test注解修飾的方法必須是public、必須是void、必須沒有參數(shù)
    • 測試類必須在 src/test/java 路徑下
    • 測試類的命名必須叫做 XxxTest
    • 測試方法(@Test注解修飾的方法)的命名必須叫做 testXxx();
  • 使用斷言語句,來完成結(jié)果的確認(rèn)

@Test
public void test1() {// 在單元測試?yán)锩?#xff0c;使用Assert 斷言幫我們完成自動(dòng)化的檢驗(yàn)工作。Assert.assertEquals(new Integer(3), max);
}
http://m.aloenet.com.cn/news/40839.html

相關(guān)文章:

  • app運(yùn)營流程上海外貿(mào)seo公司
  • 樂清網(wǎng)站建設(shè)網(wǎng)站建設(shè)網(wǎng)站的宣傳與推廣
  • 旅游景區(qū)網(wǎng)站源碼個(gè)人網(wǎng)站設(shè)計(jì)成品
  • 建c2c網(wǎng)站費(fèi)用拉新推廣賺錢的app
  • 浙江網(wǎng)站建設(shè)企業(yè)軟文類型
  • 免費(fèi)做的網(wǎng)站怎么設(shè)置域名京津冀協(xié)同發(fā)展
  • 營銷加盟網(wǎng)站建設(shè)網(wǎng)站維護(hù)是什么意思
  • erp定制開發(fā)價(jià)格澳門seo關(guān)鍵詞排名
  • 做網(wǎng)站阿里云買哪個(gè)服務(wù)器好點(diǎn)汽車推廣軟文
  • 長沙制作網(wǎng)頁網(wǎng)站杭州網(wǎng)絡(luò)
  • 一品威客網(wǎng)怎么樣seo免費(fèi)優(yōu)化網(wǎng)站
  • win7iis配置網(wǎng)站百度搜索引擎網(wǎng)址
  • 整站優(yōu)化網(wǎng)站報(bào)價(jià)公司網(wǎng)站建設(shè)全包
  • 網(wǎng)站開發(fā)團(tuán)隊(duì)取什么名字好怎么引流怎么推廣自己的產(chǎn)品
  • 長春怎么做網(wǎng)站建站流程新手搭建網(wǎng)站第一步
  • 商城網(wǎng)站開發(fā)教程視頻北京網(wǎng)絡(luò)營銷推廣
  • 歐美設(shè)計(jì)網(wǎng)站推薦app拉新平臺(tái)哪個(gè)好傭金高
  • 密云做網(wǎng)站的產(chǎn)品關(guān)鍵詞大全
  • 建站行業(yè)的利潤百度指數(shù)里的資訊指數(shù)是什么
  • 不銹鋼公司網(wǎng)站源碼 網(wǎng)站建設(shè) 產(chǎn)品3級分類asp源碼域名查詢注冊商
  • 360度全景街景地圖陽江seo
  • 北京營銷型網(wǎng)站建設(shè)培訓(xùn)百度怎么優(yōu)化網(wǎng)站關(guān)鍵詞
  • 科學(xué)城做網(wǎng)站公司網(wǎng)絡(luò)營銷的四種模式
  • 桂平網(wǎng)站制作seo查詢seo優(yōu)化
  • 網(wǎng)站不備案可以做微信小程序么幫人推廣的平臺(tái)
  • 獨(dú)立商城網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷八大目標(biāo)是什么
  • 手機(jī)屏幕網(wǎng)站佛山外貿(mào)seo
  • 新校區(qū)建設(shè)專題網(wǎng)站免費(fèi)瀏覽網(wǎng)站推廣
  • 做網(wǎng)站最重要的是什么seo方法圖片
  • 網(wǎng)站建設(shè)制作設(shè)計(jì)seo優(yōu)化珠海百度人工電話