創建Maven Spring boot項目學習筆記 Hello world(二)


 

 

Maven的用途之一是服務於構建,它是一個異常強大的構建工具,能夠幫我們自動化構建過程,從清理、編譯、測試到生成報告,再到打包和部署。我們不需要也不應該一遍又一遍地輸入命令,一次又一次地點擊鼠標,我們要做的是使用Maven配置好項目,然后輸入簡單的命令(如mvn clean install),Maven會幫我們處理那些煩瑣的任務。
Maven是跨平台的,無論是在Windows上,還是在Linux或者Mac上,都可以使用同樣的命令。Maven能夠很方便的幫你管理項目報告,生成站點,管理JAR文件,等等。

項目構建過程:【清理項目】→【編譯項目】→【測試項目】→【生成測試報告】→【打包項目】→【部署項目】這六個步驟就是一個項目的完整構建過程。

Maven的作用(摘錄)

  1. 在開發中,為了保證編譯通過,我們會到處去尋找jar包,當編譯通過了,運行的時候,卻發現"ClassNotFoundException",我們想到的是,難道還差jar包?
  2. 每個Java項目的目錄結構都沒有一個統一的標准,配置文件到處都是,單元測試代碼到底應該放在那里也沒有一個權威的規范。
  3. 因此,我們就要用到Maven(使用Ant也可以,不過編寫Ant的xml腳本比較麻煩)----一個項目管理工具
  4. Maven主要做了兩件事:
  • 統一開發規范與工具
  • 統一管理jar包
    • 還可以自定義框架模板代碼, 建骨架項目
    • 搭建maven私服

常用命令

編輯
mvn archetype:generate 創建Maven項目
mvn compile 編譯源代碼
mvn deploy 發布項目
mvn test-compile 編譯測試源代碼
mvn test 運行應用程序中的單元測試
mvn site 生成項目相關信息的網站
mvn clean 清除項目目錄中的生成結果
mvn package 根據項目生成的jar
mvn install 在本地Repository中安裝jar
mvn eclipse:eclipse 生成eclipse項目文件
mvn jetty:run 啟動jetty服務
mvn tomcat:run 啟動tomcat服務
mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳過測試類
 

 

選擇maven-archetype-webapp類型

 

 

 修改build path 修改環境為1.8,設置jdk

 創建server 選擇之前安裝的tomcat8.5,注意安裝的tomcat版本需要和選擇創建的版本匹配。

 

 設置完成后,出現如下紅色錯誤,這是因為項目設置的java版本和配置的 不一致導致。

 

 

 右點項目屬性 ,project facets 里選擇java 的版本為1.8即可。

 

接下來是配置maven 加入spring boot框架

編輯pom.xml

將如下內容放進去

 <!-- 繼承 父包-->
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.7.RELEASE</version>
</parent>

  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

右點選擇maven ---update project即可。會將相應的版本 down到項目中。

 

 

在項目根目錄下創建Application類,Spring Boot建議將我們main方法所在的這個主要的配置類配置在根包名下。

Application.java中有main方法。

因為默認和包有關的注解,默認包名都是當前類所在的包,例如@ComponentScan, @EntityScan, @SpringBootApplication注解。

@SpringBootApplication

由於大量項目都會在主要的配置類上添加@Configuration,@EnableAutoConfiguration,@ComponentScan三個注解。

因此Spring Boot提供了@SpringBootApplication注解,該注解可以替代上面三個注解(使用Spring注解繼承實現)。

 

@RestController

因為我們例子是寫一個web應用,因此寫的這個注解,這個注解相當於同時添加@Controller@ResponseBody注解。

@EnableAutoConfiguration

Spring Boot建議只有一個帶有該注解的類。

@EnableAutoConfiguration作用:Spring Boot會自動根據你jar包的依賴來自動配置項目。

 我創建了Applciation  類作為main啟動程序文件,注意:該文件需要放到包的根目錄,否則無法掃描 其他自定義的子目錄 和子文件,像controller文件

我還創建了application.properties文件 自定義端口

package com.ming.test;

import java.util.Date;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;

//@SpringBootApplication是Spring Boot的核心注解,也是一個組合注解。
//主要組合了@Configuration、@EnableAutoConfiguration、@ComponentScan。
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

我的目錄結構:

 

 

 application配置文件,可以修改端口號。

 

如果端口被占用,可以輸入netstat -ano查看端口占用情況,找到對應的PID 后 打開任務管理器,找到相應的PID 進程可以結束端口占用。

 

注意 啟動的時候選擇 run as java application即可。

 

 

 @GetMapping也可以換成如下寫法

 @RequestMapping(value = "/userinfo", method = RequestMethod.GET)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM