我是新來的spring需要知道如何啓動以及如何在spring mvc中導入依賴關係。我開始一個項目的網頁應用程序可能與單頁應用程序如何從spring mvc開始並安裝依賴關係
回答
最好的網站開始是https://start.spring.io/。在這個選擇你需要的依賴包,並得到你的項目啓動。您也可以根據需要在pom.xml文件中稍後安裝一些依賴項。
如何在spring mvc中導入依賴關係?
Spring MVC的或不,來管理你可以使用任何的Java的包裝工具,如搖籃或Maven依賴(還有其他的選擇太像常春藤或ANT從古代世界:))
如何開始
https://start.spring.io/從本網站啓動任何一個spring項目,選擇你想要的依賴關係。當你點擊生成時,它會下載一個包含項目(gradle或maven)和你選擇的所有依賴關係的zip文件。然後,稍後可以通過編輯build.gradle(如果選擇了gradle)或pom.xml(如果選擇了maven)來添加或更改依賴關係。
要從頭開始,請轉到使用Gradle編譯。
如果你知道基本知識,並希望代碼模板,請執行以下操作:
下載並解壓縮源代碼庫或使用Git克隆它:git的克隆https://github.com/spring-guides/gs-serving-web-content.git 光盤放入GS-服務 - 網絡內容/初始 跳轉提前創建一個Web控制器。 完成後,您可以根據gs-serving-web-content/complete中的代碼檢查結果。
建立與搖籃
首先,建立一個基本的構建腳本。在使用Spring構建應用程序時,您可以使用任何構建系統,但需要使用Gradle的代碼包含在這裏。
創建目錄結構
在您所選擇的項目目錄,創建下面的子目錄結構;例如,使用的mkdir -p的src/main/JAVA /你好在* nix系統:
└── src
└── main
└── java
└── hello
創建一個搖籃構建文件
下面是最初的搖籃構建文件。
build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.1.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot'
jar {
baseName = 'gs-serving-web-content'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-thymeleaf")
compile("org.springframework.boot:spring-boot-devtools")
testCompile("junit:junit")
}
The Spring Boot gradle plugin provides many convenient features:
It collects all the jars on the classpath and builds a single, runnable "über-jar", which makes it more convenient to execute and transport your service.
It searches for the public static void main() method to flag as a runnable class.
It provides a built-in dependency resolver that sets the version number to match Spring Boot dependencies. You can override any version you wish, but it will default to Boot’s chosen set of versions.
**Create a web controller**
In Spring’s approach to building web sites, HTTP requests are handled by a controller. You can easily identify these requests by the @Controller annotation. In the following example, the GreetingController handles GET requests for /greeting by returning the name of a View, in this case, "greeting". A View is responsible for rendering the HTML content:
src/main/java/hello/GreetingController.java
package hello;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class GreetingController {
@RequestMapping("/greeting")
public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
model.addAttribute("name", name);
return "greeting";
}
}
這個控制器簡潔明瞭,但還有很多事情要做。讓我們一步一步分解它。
@RequestMapping註釋可確保將/ greeting的HTTP請求映射到greeting()方法。
上述示例沒有指定GET與PUT,POST等等,因爲@RequestMapping默認映射所有的HTTP操作。使用@RequestMapping(method = GET)來縮小這個映射。 @RequestParam將查詢字符串參數名稱的值綁定到greeting()方法的name參數中。此查詢字符串參數不是必需的;如果請求中缺失,則使用「World」的缺省值。 name參數的值被添加到Model對象,最終使其可以被視圖模板訪問。
方法體的實現依賴於視圖技術,在這種情況下是Thymeleaf,執行HTML的服務器端呈現。 Thymeleaf解析下面的greeting.html模板並評估th:text表達式來呈現在控制器中設置的$ {name}參數的值。
src/main/resources/templates/greeting.html
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Serving Web Content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>
開發Web應用程序
開發web應用程序的一個共同特點是編碼的改變,重新啓動應用程序,並刷新瀏覽器查看更改。整個過程可能會耗費很多時間。爲了加速事情的循環,Spring Boot附帶了一個稱爲spring-boot-devtools的方便模塊。
啓用熱交換 切換模板引擎禁用緩存 啓用LiveReload基於發展的,而不是生產 自動刷新瀏覽器 其他合理的默認使應用程序的可執行
雖然可以打包這個服務作爲用於部署到外部應用程序服務器的傳統WAR文件,下面演示的更簡單的方法創建了獨立應用程序。您將所有內容打包到一個單獨的,可執行的JAR文件中,由一個良好的舊Java main()方法驅動。一路上,您使用Spring的支持將Tomcat servlet容器作爲HTTP運行時嵌入,而不是部署到外部實例。
src/main/java/hello/Application.java
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@SpringBootApplication是一個方便的註解,增加了以下所有條件:
@Configuration標記一個類來作爲bean定義的應用程序上下文的來源。 @EnableAutoConfiguration通知Spring Boot根據類路徑設置,其他bean和各種屬性設置開始添加bean。 通常情況下,您會爲Spring MVC應用程序添加@EnableWebMvc,但Spring Boot會在類路徑中看到spring-webmvc時自動添加它。這將該應用程序標記爲Web應用程序並激活關鍵行爲,例如設置DispatcherServlet。 @ComponentScan告訴Spring在hello包中查找其他組件,配置和服務,以允許它找到控制器。 main()方法使用Spring Boot的SpringApplication.run()方法啓動應用程序。你有沒有注意到沒有一行XML?沒有web.xml文件。這個Web應用程序是100%純Java,您不必處理配置任何管道或基礎設施。
建立一個可執行的JAR
您可以運行從搖籃或Maven命令行應用程序。或者您可以構建一個包含所有必需的依賴項,類和資源的可執行JAR文件,並運行該文件。這使得在整個開發生命週期內跨越不同環境等,將服務作爲應用程序發佈,版本化和部署變得非常容易。
如果您使用的是Gradle,則可以使用./gradlew bootRun運行該應用程序。或者您可以使用./gradlew構建構建JAR文件。然後你可以運行JAR文件:
java -jar build/libs/gs-serving-web-content-0.1.0.jar 如果你使用Maven,你可以使用./mvnw來運行應用程序spring-啓動:運行。或者,您可以使用./mvnw clean包構建JAR文件。然後你可以運行JAR文件:
java -jar target/gs-serving-web-content-0.1.0.jar 上面的程序將創建一個可運行的JAR。您也可以選擇構建經典的WAR文件。 顯示記錄輸出。該應用程序應該在幾秒鐘內啓動並運行。
測試應用
現在,該網站正在運行,請訪問:http://localhost:8080/greeting,在那裏你看到: 「你好,世界」
使用http://localhost:8080/greeting?name=User提供名稱查詢字符串參數。注意信息是如何從「Hello,World!」變化的到「您好,用戶!」:
「您好,用戶!」 此更改顯示GreetingController中的@RequestParam排列按預期工作。 name參數已被賦予默認值「World」,但始終可以通過查詢字符串顯式覆蓋。
添加主頁
靜態資源,如HTML或JavaScript或CSS,可以很容易地從你的Spring啓動應用程序服務的只是拖放到他們的源代碼正確的地方。默認情況下,Spring Boot以「/ static」(或「/ public」)的類路徑中的資源提供靜態內容。 index.html資源是特殊的,因爲它用作「歡迎頁面」(如果存在),這意味着它將作爲根資源提供,即在我們的示例中爲http://localhost:8080/。所以創建這個文件:
src/main/resources/static/index.html
<!DOCTYPE HTML>
<html>
<head>
<title>Getting Started: Serving Web Content</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>Get your greeting <a href="/greeting">here</a></p>
</body>
</html>
and when you restart the app you will see the HTML at http://localhost:8080/.
- 1. Spring MVC - 依賴關係
- 2. pip:安裝依賴的依賴關係
- 3. rpmbuild安裝依賴關係
- 4. Numpy安裝依賴關係
- 5. 如何安裝erlang的依賴關係
- 6. 如何安裝chroot依賴關係?
- 7. 如何安裝spring-boot-starter-security依賴關係
- 8. 結構圖 - 具有依賴關係的安裝依賴關係
- 9. 如何在Ubuntu上安裝gtk開發依賴關係?
- 10. 如何安裝eclipse插件(自行開發)WITH依賴關係?
- 11. 安裝寶石時,如何自動安裝依賴關係?
- 12. RVM 1.0.1安裝與依賴關係
- 13. 安裝依賴關係Python程序
- 14. 根據條件安裝依賴關係
- 15. 在haskell中安裝依賴關係
- 16. Julia:Simple BinDeps build.jl安裝依賴關係
- 17. 安裝依賴關係(noob級別)
- 18. 自動安裝brunch.io/bower.io依賴關係
- 19. 安裝npm包無依賴關係
- 20. 未安裝require.txt的依賴關係
- 21. pip安裝依賴關係鏈接
- 22. 無法安裝TensorFlow Python依賴關係
- 23. Heroku卡住安裝Gemfile依賴關係
- 24. 通過requirements.txt正確安裝依賴關係或如何正確安裝編輯的依賴關係
- 25. 開始獲取,Git和依賴關係
- 26. 安裝nodejs沒有依賴關係
- 27. Maven未安裝依賴關係
- 28. Eclipse - 依賴關係安裝插件
- 29. VueJS重新安裝依賴關係
- 30. 安裝dse 3.1依賴關係
檢查Spring MVC網站的Spring MVC教程。 – facundop