Spring-Boot Spring的春天java
在以前咱們一直使用Spring、SpringMVC進行開發,的確,Spring讓咱們認識到了項目開發原來能夠這麼方便。可是大量的配置文件倒是使人頭痛的,即便咱們想寫一個簡單的請求映射並在瀏覽器上發送Get請求測試,那麼須要:1.在web.xml中配置DispatcherServlet; 2.在application.xml中配置註解掃描、註解驅動。能夠看到:雖然Spring是輕量級的,可是Spring的配置倒是重量級的。而且搭建每一個Spring項目咱們都須要考慮依賴版本是否衝突的問題...git
So,SpringBoot將這一切都解決了。SpringBoot提供了一種固定的、約定優於配置風格的框架,讓開發者能更快的建立基於Spring的應用程序和服務。github
對應的SpringBoot整合Mybatis實現CRUD的項目和筆記請看個人Github倉庫:教你優雅的入門Spring Boot框架web
若是以爲不錯就點擊右上角star鼓勵一下筆者吧(#^.^#)spring
SpringBoot有以下特性:數據庫
這裏我選擇使用IDEA來建立SpringBoot項目:後端
1.選擇Spring Initializr,並選擇本地的JDK版本瀏覽器
2.Next,指定Group和Artifact名稱,並選擇本機JDK版本安全
3.選擇項目所需依賴springboot
解釋
devtools
: SpringBoot提供的熱部署插件,能夠避免每次修改代碼都要從新啓動項目。。
lomback
: 使用Lomback能夠減小項目中不少重複代碼的書寫,好比getter/setter/toString等方法的書寫(雖然這些可能咱們都是用的快捷鍵生成的代碼)。具體用法能夠參考博文:lomback介紹
Thymeleaf
: 語法的支持
注意: 以上依賴非必選,若是僅僅想嘗試一下Spring Boot-HelloWorld,只須要選擇其中的web
依賴便可。
<br/>
以上是新建立的Spring Boot項目。在SpringBoot中有一個啓動器(引導類)的概念,咱們首先看一下SpringbootApplication.java
:
@SpringBootApplication public class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); } }
如上,僅是一個簡單的main方法,其中最核心的就是@SpringBootApplication
註解,它是一下三個註解的總和:
@Configuration
: 用於定義一個配置類。@EnableAutoConfiguration
: SpringBoot會自動根據你的jar包依賴來自動配置項目。@ComponentSacn
: 告訴Spring哪一個packages的用註解標識的類會被Spring自動掃描而且轉入Bean容器。經過以上三個註解你就應該瞭解到了SpringBoot的做用:自動化配置項目。以前咱們要手動進行的XML配置在這裏僅須要這一個註解就完成了。且SpringBoot項目不須要單獨部署到Tomcat中才能啓動,經過這個啓動器,SpringBoot會自動構建一個web容器,並將項目部署到其中。
So,
Run SpringBootApplication
發現報錯,說DataSource
數據源的url地址沒有配置。以前咱們提到了SpringBoot的特性就是自動化配置,它會根據你的依賴文件來配置項目,咱們再看一下咱們的pom.xml
:
其中最上層的<parent>
節點約束了整個下面全部spring-boot依賴的版本,即這裏使用了SpringBoot-2.0.5。而後關注<dependencies>
節點下的前四個依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
Spring Boot應用啓動器
spring-boot-starter
: Spring Boot的核心啓動器,包含了自動配置、日誌和YAML。
spring-boot-starter-jdbc
: 支持JDBC數據庫。
spring-boot-starter-thymeleaf
: 支持Thymeleaf模板引擎,包括與Spring的集成。
spring-boot-starter-web
: 支持全棧式開發,包括Tomcat和Spring-WebMVC。
mybatis-spring-boot-starter
: 整合spring-mybatis依賴。
前面咱們強調的一點是Spring Boot能實現自動化配置,那麼項目的依賴就決定了Spring Boot將如何自動配置項目,Spring Boot的啓動器就決定了項目會以什麼樣的配置啓動項目;如此,咱們會明白這個報錯是爲何了。
由於咱們配置配置JDBC鏈接的數據庫,因此報錯,註釋掉spring-boot-starter-jdbc
和mybatis-spring-boot-starter
依賴,再次啓動SpringBootApplication
:
啓動成功。
在src/main/java/cn/tycoding/springboot/
下建立controller
文件夾並建立LoginController.java
類:
@RestController public class LoginController { @RequestMapping("/login") public String login(@RequestParam("username") String username, @RequestParam("password") String password) { System.out.println("username:" + username + ", password:" + password); return null; } }
如上就完成了在SSM階段一個最基本的SpringMVC Controller映射方法的書寫,那麼測試一下:
在瀏覽器上訪問:
localhost:8080/login?username=tycoding&password=123
後端便可接收到username和password參數。
這時你會發現,SpringBoot內置的Web容器默認訪問地址就是8080端口,若是想改變這個默認端口,修改src/main/resources/application.properties
:
server.port=8088
重啓SpringbootApplication
,訪問:localhost:8088/login?username=tycoding&password=123
在src/main/resources/application.properties
中添加配置:
url=http://www.tycoding.cn
在LoginController.java
中添加映射方法:
@RestController public class LoginController { @Autowired private Environment environment; @RequestMapping("/blog") public String login(){ return environment.getProperty("url"); } }
Spring提供的Environment
類用戶讀取配置文件中參數,訪問:localhost:8088/blog
便可獲得。
<br/>
若是你們有興趣,歡迎你們加入個人Java交流技術羣:671017003 ,一塊兒交流學習Java技術。博主目前一直在自學JAVA中,技術有限,若是能夠,會盡力給你們提供一些幫助,或是一些學習方法,固然羣裏的大佬都會積極給新手答疑的。因此,別猶豫,快來加入咱們吧!
<br/>
If you have some questions after you see this article, you can contact me or you can find some info by clicking these links.