摘要:簡介簡化應用開發的一個框架整個技術棧的一個大整合開發的一站式解決方案微服務,微服務架構風格服務微化一個應用應該是一組小型服務可以通過的方式進行互通單體應用微服務每一個功能元素最終都是一個可獨立替換和獨立升級的軟件單元環境準備推薦及以上以上版
1、Spring Boot 簡介
簡化Spring應用開發的一個框架; 整個Spring技術棧的一個大整合; J2EE開發的一站式解決方案;
2、微服務
2014,martin fowler
微服務:架構風格(服務微化)
一個應用應該是一組小型服務;可以通過HTTP的方式進行互通; 單體應用:ALL IN ONE
微服務:每一個功能元素最終都是一個可獨立替換和獨立升級的軟件單元;
3、環境準備
–jdk1.8:Spring Boot 推薦jdk1.7及以上;java version “1.8.0_112”
–maven3.x:maven 3.3以上版本;Apache Maven 3.3.9
–IntelliJIDEA2017:IntelliJ IDEA 2017.2.2 x64、STS
–SpringBoot 1.5.9.RELEASE:1.5.9; 統一環境;
1、MAVEN設置;
給maven 的settings.xml配置文件的pro?les標簽添加
jdk‐1.8 true 51.8 1.8 1.8 1.8
2、IDEA設置
整合maven進來;
4、Spring Boot HelloWorld
一個功能:
瀏覽器發送hello請求,服務器接受請求并處理,響應Hello World字符串;
1、創建一個maven工程;(jar)
2、導入spring boot相關的依賴
org.springframework.boot spring‐boot‐starter‐parent 1.5.9.RELEASE org.springframework.boot spring‐boot‐starter‐web
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、簡化部署
org.springframework.boot spring‐boot‐maven‐plugin
將這個應用打成jar包,直接使用java -jar的命令進行執行;
5、Hello World探究
1、POM文件
1、父項目
他的父項目是 org.springframework.boot spring‐boot‐starter‐parent 1.5.9.RELEASE org.springframework.boot spring‐boot‐dependencies 1.5.9.RELEASE ../../spring‐boot‐dependencies
Spring Boot的版本仲裁中心;
以后我們導入依賴默認是不需要寫版本;(沒有在dependencies里面管理的依賴自然需要聲明版本號)
2、啟動器
org.springframework.boot spring‐boot‐starter‐web
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應用;
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) public @interface SpringBootApplication {
@SpringBootConfiguration:Spring Boot的配置類;
標注在某個類上,表示這是一個Spring Boot的配置類;
@Configuration:配置類上來標注這個注解;
配置類 ----- 配置文件;配置類也是容器中的一個組件;@Component
@EnableAutoConfiguration:開啟自動配置功能;
以前我們需要配置的東西,Spring Boot幫我們自動配置;@EnableAutoConfiguration告訴SpringBoot開啟自動配置功能;這樣自動配置才能生效;
@AutoConfigurationPackage @Import(EnableAutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration {
@AutoConfigurationPackage:自動配置包
@Import(AutoConfigurationPackages.Registrar.class):
Spring的底層注解@Import,給容器中導入一個組件;導入的組件由AutoConfigurationPackages.Registrar.class;
將主配置類(@SpringBootApplication標注的類)的所在包及下面所有子包里面的所有組件掃描到Spring容器;
@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注解版
6、使用Spring Initializer快速創建Spring Boot項目
1、IDEA:使用 Spring Initializer快速創建項目
IDE都支持使用Spring的項目創建向導快速創建一個Spring Boot項目;
選擇我們需要的模塊;向導會聯網創建Spring Boot項目;
默認生成的Spring Boot項目;
主程序已經生成好了,我們只需要我們自己的邏輯
resources文件夾中目錄結構
static:保存所有的靜態資源; js css images;
templates:保存所有的模板頁面;(Spring Boot默認jar包使用嵌入式的Tomcat,默認不支持JSP頁面);可以使用模板引擎(freemarker、thymeleaf);
application.properties:Spring Boot應用的配置文件;可以修改一些默認設置;
2、STS使用 Spring Starter Project快速創建項目
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75043.html
摘要:編寫一個接口創建命名為根據實際情況修改創建類,內容如下啟動主程序,使用等工具發起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學習Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構建Spring應...
摘要:是一個輕量級框架,可以完成基于的應用程序的大部分配置工作。本文介紹如何使用操作,通過代碼在里插入數據。首先按照這個教程的第一篇文章的介紹,在本地搭建好的環境最簡單的入門教程之一環境搭建。 Spring Boot 是一個輕量級框架,可以完成基于 Spring 的應用程序的大部分配置工作。Spring Boot的目的是提供一組工具,以便快速構建容易配置的Spring應用程序,省去大量傳統S...
摘要:在中,選擇填寫你的項目的和等項目基本信息之后,在依賴中選擇之后。從入門到精通初識注解接口您的關注是我最大的動力 Spring Boot極大的簡化了java項目的開發,在之前如果想要開發一個java項目,需要安裝tomcat或者其他容器插件。但是Spring?Boot內部已經集成了tomcat,因此項目的啟動異常的方便。而且Spring?Boot的開發中有很多默認的配置,幫助我們省去了相...
摘要:哪吒社區技能樹打卡打卡貼函數式接口簡介領域優質創作者哪吒公眾號作者架構師奮斗者掃描主頁左側二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領導們的談話,現在公司的現狀是碼農太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區Java技能樹打卡?【打卡貼 day2...
閱讀 2643·2021-11-22 15:24
閱讀 1375·2021-11-17 09:38
閱讀 2752·2021-10-09 09:57
閱讀 1200·2019-08-30 15:44
閱讀 2444·2019-08-30 14:00
閱讀 3543·2019-08-30 11:26
閱讀 2938·2019-08-29 16:28
閱讀 751·2019-08-29 13:56