javascript
通俗易懂的SpringBoot教程---day1---Springboot入门教程介绍
通俗易懂的SpringBoot教程—day1—教程介紹
教程介紹:
初級教程:
一、 Spring Boot入門
二、 Spring Boot配置
三、 Spring Boot與日志
四、 Spring Boot與Web開發
五、 Spring Boot與Docker:Docker容器
六、 Spring Boot與數據訪問:JDBC、mybatis
七、 Spring Boot啟動配置原理
八、 Spring Boot自定義starters
高級教程:
九、 Spring Boot與緩存
十、 Spring Boot與消息
十一、 Spring Boot與檢索
十二、 Spring Boot與任務
十三、 Spring Boot與安全
十四、 Spring Boot與分布式
十五、 Spring Boot與開發熱部署
十六、 Spring Boot與監控管理
**springboot簡介:**用來簡化spring應用開發,約定大于配置
背景:J2EE笨重的開發、繁多的配置、低下的開發效率、復雜的部署流程、第三方技術集成難度大
解決方案:“
Spring全家桶”時代。
Spring Boot : J2EE一站式解決方案
Spring Cloud : 分布式整體解決方案
優點:
– 快速創建獨立運行的Spring項目以及與主流框架集成:快速創建獨立運行的Spring項目
– 使用嵌入式的Servlet容器,應用無需打成WAR包:嵌入式servlet
– starters自動依賴與版本控制:starter啟動器自動依賴
– 大量的自動配置,簡化開發,也可修改默認值:約定大于配置
– 無需配置XML,無代碼生成,開箱即用
– 準生產環境的運行時應用監控
– 與云計算的天然集成
了解一下微服務:
單體應用:
單體應用和微服務的比較:
2014,martin fowler提出來
微服務:架構風格(服務微化)
一個服務應該是一組小型的服務,可以通過HTTP方式來進行交互
單體應用和微服務:
單體應用:ALL in one
微服務:每個功能元素最終都是可獨自升級可獨自替換的軟件單元。
詳情可參考:https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa
用SpringBoot創建一個HelloWorld項目:
一個功能:
瀏覽器發送hello請求,服務器接受請求并處理,響應Hello World字符串;
1、創建一個maven工程;(jar)
2、導入spring boot相關的依賴:
3、編寫一個主程序;啟動Spring Boot應用
/** * @SpringBootApplication 來標注一個主程序類,說明這是一個Spring Boot應用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args) { // Spring應用啟動起來 SpringApplication.run(HelloWorldMainApplication.class,args); } }4、編寫相關的Controller、Service
@ Controller public class HelloController { @ResponseBody @RequestMapping("/hello") public String hello(){ return "Hello World!"; } }5、運行主程序測試
6、簡化部署
將這個應用打成jar包,直接使用java -jar的命令進行執行;
Hello World探究
1、POM文件
Spring Boot的版本仲裁中心;他來真正管理Spring Boot應用里面的所有依賴版本;所以以后我們導入依賴默認是不需要寫版本;(沒有在dependencies里面管理的依賴自然需要聲明版本號)
2、啟動器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐web</artifactId> </dependency>spring-boot-starter-web:
spring-boot-starter:spring-boot場景啟動器;幫我們導入了web模塊正常運行所依賴的組件;
Spring Boot將所有的功能場景都抽取出來,做成一個個的starters(啟動器),只需要在項目里面引入這些starter
相關場景的所有依賴都會導入進來。要用什么功能就導入什么場景的啟動器。
2、主程序類,主入口類
/** * @SpringBootApplication 來標注一個主程序類,說明這是一個Spring Boot應用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args) { // Spring應用啟動起來 SpringApplication.run(HelloWorldMainApplication.class,args); } }@SpringBootApplication: Spring Boot應用標注在某個類上說明這個類是SpringBoot的主配置類,SpringBoot
就應該運行這個類的main方法來啟動SpringBoot應用;
@SpringBootConfiguration:Spring Boot的配置類;標注在某個類上,表示這是一個Spring Boot的配置類;
@Configuration:spring的配置類,配置類上來標注這個注解;
配置類類似于===配置文件;配置類實際上也是容器中的一個組件;@Component
@EnableAutoConfiguration:開啟自動配置功能;
以前我們需要配置的東西,Spring Boot幫我們自動配置;@EnableAutoConfiguration告訴SpringBoot開啟自
動配置功能;這樣自動配置才能生效;
@AutoConfigurationPackage:自動配置包,將主配置類(@SpringBootApplication標注的類)的所在包及下面所有子包里面的所有組件掃描到Spring容器;
@Import(AutoConfigurationPackages.Registrar.class):
Spring的底層注解@Import,給容器中導入一個組件;導入的組件由AutoConfigurationPackages.Registrar.class決定;
@Import(EnableAutoConfigurationImportSelector.class);
用來判斷給容器中導入組件?
EnableAutoConfigurationImportSelector:導入哪些組件的選擇器;
將所有需要導入的組件以全類名的方式返回;這些組件就會被添加到容器中;
會給容器中導入非常多的自動配置類(xxxAutoConfiguration);就是給容器中導入這個場景需要的所有組件,
并配置好這些組件;
有了自動配置類,免去了我們手動編寫配置注入功能組件等的工作;
SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class,classLoader);
Spring Boot在啟動的時候從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值,將
這些值作為自動配置類導入到容器中,自動配置類就生效,幫我們進行自動配置工作;以前我們需要自己配置的東
西,自動配置類都幫我們;
J2EE的整體整合解決方案和自動配置都在spring-boot-autoconfigure-1.5.9.RELEASE.jar;
使用Spring initialize快速搭建SpringBoot工程:
默認生成的Spring Boot項目;
static:保存所有的靜態資源; js css images;
templates:保存所有的模板頁面;(Spring Boot默認jar包使用嵌入式的Tomcat,默認不支持JSP頁面);可以使用模板引擎(freemarker、thymeleaf);
application.properties:Spring Boot應用的配置文件;可以修改一些默認設置;
總結
以上是生活随笔為你收集整理的通俗易懂的SpringBoot教程---day1---Springboot入门教程介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双剑合璧————Spring Boot
- 下一篇: android手机用户,[信息图]And