eclipse 使用Maven 創建 HelloWorld java項目

一、Eclipse中Maven的配置:

1、 打開Eclipse的首選項設置
在這裏插入圖片描述
2、找到Maven的配置項目

在這裏插入圖片描述
3、設置Maven的全局配置文件settings.xml
在這裏插入圖片描述
4、更新配置信息,jar包默認的位置一般是C盤,如圖爲打開setting.xml文件,
在這裏插入圖片描述

<localRepository>D:/maven/Development/M2/repository</localRepository>

往 setting.xml文件添加中央倉庫代碼

   <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>

在這裏插入圖片描述

回到Maven的配置項目找到Installations,加入Maven文件

在這裏插入圖片描述
在這裏插入圖片描述
選擇文件

在這裏插入圖片描述

在這裏插入圖片描述
Finish
在這裏插入圖片描述

配置完成。

二、新建一個Maven工程

   1、選擇File-->New-->Other-->Maven-->Maven Project,Next

出現如圖:
在這裏插入圖片描述

next 進入下一步:

在這裏插入圖片描述

gruop id 和 artifact id 和version這三個元素定義了一個項目的基本座標,在Maven的世界,任何的jar,pom或者war都是基於這些基本的座標區分的。

Group Id:定義項目組
Artifact Id:定義了當前項目組中唯一的id(相關的項目名)
Version:顧名思義,指定當前的版本

Finish
創建完成。
2、創建成功的Maven項目:
在這裏插入圖片描述
說明:

src/main/resources:用來存放資源文件(默認會幫你創建這個資源文件夾)

src/main/java:用來存放 java 源碼文件(需要自己手動創建)

src/main/test:用來存放測試代碼(需要自己手動創建,也有人習慣命名爲:src/test)@

target:是用來存放 Maven 編譯好的字節碼的地方

Maven Dependencies:裏面放的是 maven 管理的 jar 文件

3、生成的maven項目和pom.xml,接下來解析一下pom.xml的相關配置
所有 POM 文件都需要 project 元素和三個必需字段:groupId,artifactId,version。

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

 <!-- 模型版本 -->
  <modelVersion>4.0.0</modelVersion>
 <!-- 公司或者組織的唯一標誌,並且配置時生成的路徑也是由此生成, 如com.springboot,maven會將該項目打成的jar包放本地路徑:    com/springboot -->
  <groupId>com.springboot</groupId>
 <!-- 項目的唯一ID,一個groupId下面可能多個項目,就是靠artifactId來區分的 -->
  <artifactId>test1</artifactId>  
<!-- 版本號 -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- 引入父級依賴 -->
  
	<parent><!--被繼承的父項目的構件標識符 -->
		<groupId>org.springframework.boot</groupId><!--被繼承的父項目的版本 -->
		<artifactId>spring-boot-starter-parent</artifactId> <!--被繼承的父項目的全球唯一標識符 -->
		<version>1.5.6.RELEASE</version>
		!-- 父項目的pom.xml文件的相對路徑。相對路徑允許你選擇一個不同的路徑。默認值是../pom.xml。Maven首先在構建當前項目的地        方尋找父項 目的pom,其次在文件系統的這個位置(relativePath位置),然後在本地倉庫,最後在遠程倉庫尋找父項目的pom。 -->
    </parent>

	<!--應用spring springmvc -->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			//spring-boot-starter-web包自動幫我們引入了web模塊開發需要的相關jar包,直接可以
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

	</dependencies>
  
</project>

SpringBoot集成的web容器有我們常用的tomcat容器或者Jetty容器,具體的由配置決定,當然其默認集成的是tomcat容器,
這也說明了,只要我們打成jar包,理論上該jar在任何一個有JRE的服務器上即可運行.,不需要再在服務器上配置tomcat等web容器,這也體現了SpringBoot的微服務的概念。

詳細解析參考:https://blog.csdn.net/qq_33206732/article/details/79171393

簡單配置好了pom.xml,

4、創建一個HelloTest.java測試類運行看看

在這裏插入圖片描述

package com.Test;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@EnableAutoConfiguration //配置註解,開啓自動配置
@Controller//配置Controller註解
///*
// * @Controller用於標記在一個類上,使用它標記的類就是一個SpringMVC Controller 對象。
// * 分發處理器將會掃描使用了該註解的類的方法。通俗來說,被Controller標記的類就是一個控制器,這個類中的方法,就是相應的動作。
// */
public class HelloTest {
	@RequestMapping("/hello")//@RequestMapping 配置url映射
	@ResponseBody
	//@responseBody註解的作用是將controller的方法返回的對象通過適當的轉換器轉換爲指定的格式之後,寫入到response對象的body區,通常用來返回JSON數據或者是XML數據。
	public String helloTest(){
		return"hello,fujiashi";
	}
	
	
   public static void main(String[] args) {//springboot 運行入口
	SpringApplication.run(HelloTest.class, args);
	//在main方法中執行SpringApplication.run()這種方式來啓動我們的工程,HelloTest.class 就是main函數所在類名。
}

}

上面涉及的相關注解:

Controller的使用
@Controller 處理http請求,@Controller就是整體頁面刷新提交的處理註解
@RestController Spring4之後新加的註解,原來返回json需要@ResponseBody配合@Controller
@RequestMapping 配置url映射

@EnableAutoConfiguration 註解的作用,就是開啓自動配置.開啓了這個註解就意味這springboot 幫你集成了大批的熱門,火熱的開源技術,不再需要你導入集成配置.
@EnableAutoConfiguration註解加載配置的詳細講解參考:https://blog.csdn.net/qq_36872046/article/details/83662761

@responseBody註解的作用是將controller的方法返回的對象通過適當的轉換器轉換爲指定的格式之後,寫入到response對象的body區,通常用來返回JSON數據或者是XML數據,需要注意的呢,在使用此註解之後不會再走試圖處理器,而是直接將數據寫入到輸入流中,他的效果等同於通過response對象輸出指定格式的數據。

關於 @Controller和@RestController的區別

@RestController,一般是使用在類上的,它表示的意思其實就是結合了@Controller和@ResponseBody兩個註解,@ResponseBody,一般是使用在單獨的方法上的,需要哪個方法返回json數據格式,就在哪個方法上使用,具有針對性。

@RestController註解相當於@ResponseBody + @Controller合在一起的作用。 RestController使用的效果是將方法返回的對象直接在瀏覽器上展示成json格式,而如果單單使用@Controller會報錯,需要ResponseBody配合使用。

1、如果只是使用@RestController註解Controller類,則方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起作用,返回的內容就是Return 裏的內容。 例如:本來應該到success.jsp頁面的,則其顯示success.

2、如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。

3、如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。

@RequestMapping是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作爲父路徑。

比如上面用到的@RequestMapping("/hello"),運行成功後,我們只有在瀏覽器輸入http://localhost:8080/hello,就能顯示helloTest()方法運行的結果

如圖:
在這裏插入圖片描述

簡單的Maven 工程就運行成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章