SpringBootjava
在您第1次接觸和學習Spring框架的時候,是否由於其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否以爲一堆反覆黏貼的配置有一些厭煩?那麼您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構建Spring應用!web
Spring Boot讓咱們的Spring應用變的更輕量化。好比:你能夠僅僅依靠一個Java類來運行一個Spring引用。你也能夠打包你的應用爲jar並經過使用java -jar來運行你的Spring Web應用。spring
Spring Boot的主要優勢:apache
爲全部Spring開發者更快的入門瀏覽器
開箱即用,提供各類默認配置來簡化項目配置springboot
內嵌式容器簡化Web項目app
沒有冗餘代碼生成和XML配置的要求框架
本章主要目標完成Spring Boot基礎項目的構建,而且實現一個簡單的Http請求處理,經過這個例子對Spring Boot有一個初步的瞭解,並體驗其結構簡單、開發快速的特性。maven
SpringBoot 是一個快速開發的框架,可以快速的整合第三方框架,簡化XML配置,所有采用註解形式,內置Tomcat容器,幫助開發者可以實現快速開發,SpringBoot的Web組件 默認集成的是SpringMVC框架。spring-boot
SpringMVC是控制層。
Java1.8及以上
Spring Framework 4.1.5及以上
本文采用Java 1.8.0_73、Spring Boot 2.0版本調試經過。
SpringBoot 是一個快速開發的框架,可以快速的整合第三方框架,簡化XML配置,所有采用註解形式,內置Tomcat容器,幫助開發者可以實現快速開發,SpringBoot的Web組件 默認集成的是SpringMVC框架。
SpringMVC是控制層。
SpringBoot 是一個快速開發的框架,可以快速的整合第三方框架,簡化XML配置,所有采用註解形式,內置Tomcat容器,幫助開發者可以實現快速開發,SpringBoot的Web組件 默認集成的是SpringMVC框架。
SpringMVC是控制層。
SpringCloud依賴與SpringBoot組件,使用SpringMVC編寫Http協議接口,同時SpringCloud是一套完整的微服務解決框架。
Eclipse 下載SpringBoot2.0以上版本,pom文件報錯解決辦法
org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)
相關網址: http://bbs.itmayiedu.com/article/1527749194015
名爲」springboot-helloworld」 類型爲Jar工程項目
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> |
spring-boot-starter-parent做用 在pom.xml中引入spring-boot-start-parent,spring官方的解釋叫什麼stater poms,它能夠提供dependency management,也就是說依賴管理,引入之後在申明其它dependency的時候就不須要version了,後面能夠看到。 spring-boot-starter-web做用 springweb 核心組件 spring-boot-maven-plugin做用 若是咱們要直接Main啓動spring,那麼如下plugin必需要添加,不然是沒法啓動的。若是使用maven 的spring-boot:run的話是不須要此配置的。(我在測試的時候,若是不配置下面的plugin也是直接在Main中運行的。)
|
建立package命名爲com.itmayiedu.controller(根據實際狀況修改)
建立HelloController類,內容以下
@RestController @EnableAutoConfiguration public class HelloController { @RequestMapping("/hello") public String index() { return "Hello World"; } public static void main(String[] args) { SpringApplication.run(HelloController.class, args); } } |
在上加上RestController 表示修飾該Controller全部的方法返回JSON格式,直接能夠編寫
Restful接口
註解:做用在於讓 Spring Boot 根據應用所聲明的依賴來對 Spring 框架進行自動配置
這個註解告訴Spring Boot根據添加的jar依賴猜想你想如何配置Spring。因爲spring-boot-starter-web添加了Tomcat和Spring MVC,因此auto-configuration將假定你正在開發一個web應用並相應地對Spring進行設置。
標識爲啓動類
Springboot默認端口號爲8080
@RestController @EnableAutoConfiguration public class HelloController { @RequestMapping("/hello") public String index() { return "Hello World"; } public static void main(String[] args) { SpringApplication.run(HelloController.class, args); } } |
啓動主程序,打開瀏覽器訪問http://localhost:8080/index,能夠看到頁面輸出Hello World
@ComponentScan(basePackages = "com.itmayiedu.controller")---控制器掃包範圍
@ComponentScan(basePackages = "com.itmayiedu.controller") @EnableAutoConfiguration public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } } |
@SpringBootApplication
@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 註解所修飾,換言之 Springboot 提供了統一的註解來替代以上三個註解
掃包範圍:在啓動類上加上@SpringBootApplication註解,當前包下或者子包下全部的類均可以掃到。