亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Spring Boot 入門(一)

zhaochunqi / 2293人閱讀

摘要:簡介簡化應(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 5    1.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

相關(guān)文章

  • Spring Boot 2.x基礎(chǔ)教程:快速入門

    摘要:編寫一個接口創(chuàng)建命名為根據(jù)實際情況修改創(chuàng)建類,內(nèi)容如下啟動主程序,使用等工具發(fā)起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學(xué)習(xí)Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復(fù)黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構(gòu)建Spring應(yīng)...

    tigerZH 評論0 收藏0
  • MongoDB最簡單的入門教程之四:使用Spring Boot操作MongoDB

    摘要:是一個輕量級框架,可以完成基于的應(yīng)用程序的大部分配置工作。本文介紹如何使用操作,通過代碼在里插入數(shù)據(jù)。首先按照這個教程的第一篇文章的介紹,在本地搭建好的環(huán)境最簡單的入門教程之一環(huán)境搭建。 Spring Boot 是一個輕量級框架,可以完成基于 Spring 的應(yīng)用程序的大部分配置工作。Spring Boot的目的是提供一組工具,以便快速構(gòu)建容易配置的Spring應(yīng)用程序,省去大量傳統(tǒng)S...

    Lavender 評論0 收藏0
  • Spring Boot入門到精通-項目搭建

    摘要:在中,選擇填寫你的項目的和等項目基本信息之后,在依賴中選擇之后。從入門到精通初識注解接口您的關(guān)注是我最大的動力 Spring Boot極大的簡化了java項目的開發(fā),在之前如果想要開發(fā)一個java項目,需要安裝tomcat或者其他容器插件。但是Spring?Boot內(nèi)部已經(jīng)集成了tomcat,因此項目的啟動異常的方便。而且Spring?Boot的開發(fā)中有很多默認(rèn)的配置,幫助我們省去了相...

    阿羅 評論0 收藏0
  • Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師(全網(wǎng)最強(qiáng))

    摘要:哪吒社區(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...

    Scorpion 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<