摘要:簡介簡化應(yīng)用開發(fā)的一個框架整個技術(shù)棧的一個大整合開發(fā)的一站式解決方案微服務(wù),微服務(wù)架構(gòu)風(fēng)格服務(wù)微化一個應(yīng)用應(yīng)該是一組小型服務(wù)可以通過的方式進(jìn)行互通單體應(yīng)用微服務(wù)每一個功能元素最終都是一個可獨立替換和獨立升級的軟件單元環(huán)境準(zhǔn)備推薦及以上以上版
1、Spring Boot 簡介
簡化Spring應(yīng)用開發(fā)的一個框架; 整個Spring技術(shù)棧的一個大整合; J2EE開發(fā)的一站式解決方案;
2、微服務(wù)
2014,martin fowler
微服務(wù):架構(gòu)風(fēng)格(服務(wù)微化)
一個應(yīng)用應(yīng)該是一組小型服務(wù);可以通過HTTP的方式進(jìn)行互通; 單體應(yīng)用:ALL IN ONE
微服務(wù):每一個功能元素最終都是一個可獨立替換和獨立升級的軟件單元;
3、環(huán)境準(zhǔn)備
–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; 統(tǒng)一環(huán)境;
1、MAVEN設(shè)置;
給maven 的settings.xml配置文件的pro?les標(biāo)簽添加
jdk‐1.8 true 51.8 1.8 1.8 1.8
2、IDEA設(shè)置
整合maven進(jìn)來;
4、Spring Boot HelloWorld
一個功能:
瀏覽器發(fā)送hello請求,服務(wù)器接受請求并處理,響應(yīng)Hello World字符串;
1、創(chuàng)建一個maven工程;(jar)
2、導(dǎo)入spring boot相關(guān)的依賴
org.springframework.boot spring‐boot‐starter‐parent 1.5.9.RELEASE org.springframework.boot spring‐boot‐starter‐web
3、編寫一個主程序;啟動Spring Boot應(yīng)用
/** * @SpringBootApplication 來標(biāo)注一個主程序類,說明這是一個Spring Boot應(yīng)用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args) { // Spring應(yīng)用啟動起來 SpringApplication.run(HelloWorldMainApplication.class,args); } }
4、編寫相關(guān)的Controller、Service
@Controller public class HelloController { @ResponseBody @RequestMapping("/hello") public String hello(){ return "Hello World!"; } }
5、運行主程序測試
6、簡化部署
org.springframework.boot spring‐boot‐maven‐plugin
將這個應(yīng)用打成jar包,直接使用java -jar的命令進(jìn)行執(zhí)行;
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的版本仲裁中心;
以后我們導(dǎo)入依賴默認(rèn)是不需要寫版本;(沒有在dependencies里面管理的依賴自然需要聲明版本號)
2、啟動器
org.springframework.boot spring‐boot‐starter‐web
spring-boot-starter-web:
spring-boot-starter:spring-boot場景啟動器;幫我們導(dǎo)入了web模塊正常運行所依賴的組件;
Spring Boot將所有的功能場景都抽取出來,做成一個個的starters(啟動器),只需要在項目里面引入這些starter
相關(guān)場景的所有依賴都會導(dǎo)入進(jìn)來。要用什么功能就導(dǎo)入什么場景的啟動器
2、主程序類,主入口類
/** * @SpringBootApplication 來標(biāo)注一個主程序類,說明這是一個Spring Boot應(yīng)用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args) { // Spring應(yīng)用啟動起來 SpringApplication.run(HelloWorldMainApplication.class,args); } }
@SpringBootApplication: Spring Boot應(yīng)用標(biāo)注在某個類上說明這個類是SpringBoot的主配置類,SpringBoot就應(yīng)該運行這個類的main方法來啟動SpringBoot應(yīng)用;
@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的配置類;
標(biāo)注在某個類上,表示這是一個Spring Boot的配置類;
@Configuration:配置類上來標(biāo)注這個注解;
配置類 ----- 配置文件;配置類也是容器中的一個組件;@Component
@EnableAutoConfiguration:開啟自動配置功能;
以前我們需要配置的東西,Spring Boot幫我們自動配置;@EnableAutoConfiguration告訴SpringBoot開啟自動配置功能;這樣自動配置才能生效;
@AutoConfigurationPackage @Import(EnableAutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration {
@AutoConfigurationPackage:自動配置包
@Import(AutoConfigurationPackages.Registrar.class):
Spring的底層注解@Import,給容器中導(dǎo)入一個組件;導(dǎo)入的組件由AutoConfigurationPackages.Registrar.class;
將主配置類(@SpringBootApplication標(biāo)注的類)的所在包及下面所有子包里面的所有組件掃描到Spring容器;
@Import(EnableAutoConfigurationImportSelector.class);
給容器中導(dǎo)入組件?
EnableAutoConfigurationImportSelector:導(dǎo)入哪些組件的選擇器;
將所有需要導(dǎo)入的組件以全類名的方式返回;這些組件就會被添加到容器中;
會給容器中導(dǎo)入非常多的自動配置類(xxxAutoConfiguration);就是給容器中導(dǎo)入這個場景需要的所有組件,并配置好這些組件;
在這里插入圖片描述
有了自動配置類,免去了我們手動編寫配置注入功能組件等的工作;SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class,classLoader);
Spring Boot在啟動的時候從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值,將這些值作為自動配置類導(dǎo)入到容器中,自動配置類就生效,幫我們進(jìn)行自動配置工作;以前我們需要自己配置的東西,自動配置類都幫我們;
J2EE的整體整合解決方案和自動配置都在spring-boot-autoconfigure-1.5.9.RELEASE.jar;
Spring注解版
6、使用Spring Initializer快速創(chuàng)建Spring Boot項目
1、IDEA:使用 Spring Initializer快速創(chuàng)建項目
IDE都支持使用Spring的項目創(chuàng)建向?qū)Э焖賱?chuàng)建一個Spring Boot項目;
選擇我們需要的模塊;向?qū)?lián)網(wǎng)創(chuàng)建Spring Boot項目;
默認(rèn)生成的Spring Boot項目;
主程序已經(jīng)生成好了,我們只需要我們自己的邏輯
resources文件夾中目錄結(jié)構(gòu)
static:保存所有的靜態(tài)資源; js css images;
templates:保存所有的模板頁面;(Spring Boot默認(rèn)jar包使用嵌入式的Tomcat,默認(rèn)不支持JSP頁面);可以使用模板引擎(freemarker、thymeleaf);
application.properties:Spring Boot應(yīng)用的配置文件;可以修改一些默認(rèn)設(shè)置;
2、STS使用 Spring Starter Project快速創(chuàng)建項目
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/75043.html
摘要:編寫一個接口創(chuàng)建命名為根據(jù)實際情況修改創(chuàng)建類,內(nèi)容如下啟動主程序,使用等工具發(fā)起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學(xué)習(xí)Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復(fù)黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構(gòu)建Spring應(yīng)...
摘要:是一個輕量級框架,可以完成基于的應(yīng)用程序的大部分配置工作。本文介紹如何使用操作,通過代碼在里插入數(shù)據(jù)。首先按照這個教程的第一篇文章的介紹,在本地搭建好的環(huán)境最簡單的入門教程之一環(huán)境搭建。 Spring Boot 是一個輕量級框架,可以完成基于 Spring 的應(yīng)用程序的大部分配置工作。Spring Boot的目的是提供一組工具,以便快速構(gòu)建容易配置的Spring應(yīng)用程序,省去大量傳統(tǒng)S...
摘要:在中,選擇填寫你的項目的和等項目基本信息之后,在依賴中選擇之后。從入門到精通初識注解接口您的關(guān)注是我最大的動力 Spring Boot極大的簡化了java項目的開發(fā),在之前如果想要開發(fā)一個java項目,需要安裝tomcat或者其他容器插件。但是Spring?Boot內(nèi)部已經(jīng)集成了tomcat,因此項目的啟動異常的方便。而且Spring?Boot的開發(fā)中有很多默認(rèn)的配置,幫助我們省去了相...
摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...
閱讀 2703·2021-11-22 15:24
閱讀 1441·2021-11-17 09:38
閱讀 2830·2021-10-09 09:57
閱讀 1266·2019-08-30 15:44
閱讀 2507·2019-08-30 14:00
閱讀 3615·2019-08-30 11:26
閱讀 2995·2019-08-29 16:28
閱讀 835·2019-08-29 13:56