成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

SpringBoot學(xué)習(xí)日記1 第一個(gè)SpringBoot程序

ybak / 897人閱讀

摘要:學(xué)習(xí)日記簡(jiǎn)單的小程序配置引入依賴編寫代碼最后通過(guò)這兩個(gè)簡(jiǎn)單的配置,就可以使用瀏覽器訪問(wèn)訪問(wèn)到這個(gè)頁(yè)面了分析和主要的作用是告知渲染結(jié)果直接返回給調(diào)用者。數(shù)據(jù)相當(dāng)于就是在中作為路由功能的注解。

SpringBoot學(xué)習(xí)日記 簡(jiǎn)單的Hello Word小程序

配置pom引入依賴


        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE


    
        org.springframework.boot
        spring-boot-starter-web
    

編寫代碼

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Example.class, args);
    }
}

最后通過(guò)這兩個(gè)簡(jiǎn)單的配置,就可以使用瀏覽器訪問(wèn)localhost:8080 訪問(wèn)到 hello word這個(gè)頁(yè)面了

分析

@RestController@EnableAutoConfiguration、@RequestMapping

@RestController主要的作用是告知Spring渲染結(jié)果直接返回給調(diào)用者。==Json數(shù)據(jù)==

相當(dāng)于

@ Controller
@ ResponseBody

@RequestMapping 就是在SpringMVC中作為路由功能的注解。

@EnableAutoConfiguration Spring Boot會(huì)通過(guò)pom.xml文件的依賴來(lái)自動(dòng)配置,由于Spring-boot-starter-web中配置了Tomcat和SpringMVC,自動(dòng)配置會(huì)配置為Web應(yīng)用。

SpringBoot熱部署:
  
    org.springframework.boot  
    spring-boot-maven-plugin   
       
           
           
            org.springframework   
            springloaded   
            1.2.4.RELEASE  
           
       
       
           
               
                repackage   
               
               
                exec   
               
           
      
  
分析pom.xml 依賴的關(guān)系

    org.springframework.boot
    spring-boot-starter-parent
    1.5.9.RELEASE

依賴于下面:

    org.springframework.boot
    spring-boot-dependencies
    1.5.9.RELEASE
    ../../spring-boot-dependencies

管理SpringBoot所有依賴,==SpringBoot版本仲裁中心==

所以以后的導(dǎo)入依賴是不用寫具體版本號(hào)的。

導(dǎo)入的依賴:


    
        org.springframework.boot
        spring-boot-starter-web
    

Spring-boot-starter-==web==:導(dǎo)入Web應(yīng)用的時(shí)候,導(dǎo)入Web需要用到的依賴。

Spring-boot-starter-x:Spring Boot的場(chǎng)景啟動(dòng)器(里面包含了多個(gè)整合好的依賴)。

SpringBoot將所有的功能場(chǎng)景都抽取出來(lái)做成Staters 只需要引入Staters就可以了

@SpringBootApplication:

包含:

@Component:定義為一個(gè)組件可以被bean掃描器掃描出來(lái)

@ComponentScan:掃描被注解的對(duì)象。

@EnableAutoConfiguration:自動(dòng)配置,自動(dòng)導(dǎo)入

1 自動(dòng)導(dǎo)入
    @Import(EnableAutoConfigurationImportSelector.class)

導(dǎo)入SpringBootApplication注解修飾類的包名里面的所有的子包全部導(dǎo)入。

2 自動(dòng)配置

EnableAutoConfigurationImportSelector 繼承于 AutoConfigurationImportSelector

@Override
    public String[] selectImports(AnnotationMetadata annotationMetadata) {
            List configurations = getCandidateConfigurations(annotationMetadata,
        
    }
/**
    掃描META-INF/spring.factories中獲取EnableAutoConfiguration的值再包裝成Properties,從properties中獲取到EnableAutoConfiguration.class對(duì)應(yīng)的全限定名類名,添加進(jìn)入容器中。
*/
protected List getCandidateConfigurations(AnnotationMetadata metadata,
            AnnotationAttributes attributes) {
        List configurations = SpringFactoriesLoader.loadFactoryNames(
                getSpringFactoriesLoaderFactoryClass(), getBeanClassLoader());
    }

SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.calss ,classLoader);

獲取類路徑下META-INF/spring.factories中獲取EnableAutoConfiguration的值,再將這些值作為自動(dòng)配置類導(dǎo)入到容器中。

==結(jié)論==:@SpringBootApplication 被修飾的類為主配置類,將主配置類所在的包下的所有的子包里面的組件全部掃描到Spring容器中來(lái),再?gòu)母夸浵碌奈募凶x取配置文件生成配置類,自動(dòng)配置好。

JaveEE的整體整合和自動(dòng)配置都在:pring-boot-autoconfigure-1.5.9.RELEASE.jar中

Spring Initializer

生成Boot項(xiàng)目的目錄:

static :保存靜態(tài)文件;js,css,png

templates : 保存模板頁(yè)面;(默認(rèn)不支持jsp,可以使用模板引擎)

application.properties : Spring Boot的配置文件,默認(rèn)配置文件可以在此文件中更改。

配置文件

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77605.html

相關(guān)文章

  • Springboot下使用Mybatis

    摘要:最近有項(xiàng)目需要使用語(yǔ)言開發(fā)數(shù)據(jù)接口,整體框架需要符合微服務(wù)架構(gòu),在網(wǎng)上查找了相關(guān)資料,最終選定了的架構(gòu),此文主要記錄在下的使用,一方面作為學(xué)習(xí)日記,另一方面也希望對(duì)正在學(xué)習(xí)的朋友們有一定幫助。最后,整個(gè)項(xiàng)目完成后目錄結(jié)構(gòu)如下 最近有項(xiàng)目需要使用java語(yǔ)言開發(fā)數(shù)據(jù)接口,整體框架需要符合微服務(wù)架構(gòu),在網(wǎng)上查找了相關(guān)資料,最終選定了Springcloud+Springboot的架構(gòu),此文...

    rollback 評(píng)論0 收藏0
  • springboot學(xué)習(xí)(一)——helloworld

    摘要:關(guān)于的自動(dòng)配置,這個(gè)是重點(diǎn)之一,后面細(xì)說(shuō)。在后續(xù)的學(xué)習(xí)中會(huì)慢慢學(xué)習(xí)到。紅色標(biāo)記的就是已經(jīng)掃描到了并初始化成功了。 以下內(nèi)容,如有問(wèn)題,煩請(qǐng)指出,謝謝 springboot出來(lái)也很久了,以前零散地學(xué)習(xí)了不少,不過(guò)很長(zhǎng)時(shí)間了都沒(méi)有在實(shí)際中使用過(guò)了,忘了不少,因此要最近準(zhǔn)備抽時(shí)間系統(tǒng)的學(xué)習(xí)積累下springboot,給自己留個(gè)根。 因?yàn)橐郧皩W(xué)過(guò)一些,這里就主要根據(jù)官方文檔來(lái)學(xué)習(xí)了,可能會(huì)根據(jù)...

    The question 評(píng)論0 收藏0
  • 慕課網(wǎng)_《2小時(shí)學(xué)會(huì)SpringBoot學(xué)習(xí)總結(jié)

    摘要:小時(shí)學(xué)會(huì)學(xué)習(xí)總結(jié)時(shí)間年月日星期六說(shuō)明本文部分內(nèi)容均來(lái)自慕課網(wǎng)。慕課網(wǎng)教學(xué)示例源碼暫無(wú)。數(shù)據(jù)庫(kù)操作下第六章事務(wù)管理事務(wù)管理只有查詢的時(shí)候不加事務(wù),其它任何操作都要加事務(wù)。第七章課程回顧課程回顧總結(jié)介紹安裝配置的使用數(shù)據(jù)庫(kù)操作 《2小時(shí)學(xué)會(huì)SpringBoot》學(xué)習(xí)總結(jié) 時(shí)間:2017年2月18日星期六說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示...

    aisuhua 評(píng)論0 收藏0
  • SpringBoot 實(shí)戰(zhàn) (二) | 一個(gè) SpringBoot 工程詳解

    摘要:代碼如下可以看到中一共有個(gè)依賴,其中只有是我手動(dòng)加入的,用于單元測(cè)試。點(diǎn)擊項(xiàng)目啟動(dòng)按鈕,效果如下好的程序必須配備完善的單元測(cè)試。測(cè)試結(jié)果如下可以看到紅圈框住的地方,出現(xiàn)這個(gè)綠色標(biāo)志證明單元測(cè)試沒(méi)問(wèn)題。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 前言 哎呦喂,按照以往的慣例今天周六我的安排應(yīng)該是待在家學(xué)學(xué)貓叫啥的。但是今年這種日子就可能一去不復(fù)返了,沒(méi)...

    GeekQiaQia 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<