国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot

gaomysion / 2560人閱讀

摘要:前面一種使用的是模板進(jìn)行查詢的。并且最好在接口的方法內(nèi)使用注解來(lái)聲明下。,非常適合在應(yīng)用程序啟動(dòng)之初進(jìn)行一些數(shù)據(jù)初始化的工作。接下來(lái)我們直接創(chuàng)建一個(gè)類繼承,并實(shí)現(xiàn)它的方法。在實(shí)踐中,使用也可以達(dá)到相同的目的,兩著差別不大。

框架技術(shù):SpringBoot+Mybatis+MySQL等
配置文件

配置文件application.propreties文件

spring.datasource.url=jdbc:mysql://localhost:3306/blogs?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

如果使用yml文件 則使用下面配置

#spring配置
spring:
  profiles:
    active: dev
  thymeleaf:
    mode: HTML
    cache: false
#視圖層配置
  mvc:
    view:
      prefix: /templates
    favicon:
      enabled: false
#數(shù)據(jù)庫(kù)
  datasource:
    url: jdbc:mysql://localhost:3308/blogs?characterEncoding=utf8&useSSL=true
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
Controller層

注意: 使用Restful時(shí) 要加上@PathVariable注解 。前面一種使用的是JDBCTemplate模板進(jìn)行查詢的。

Service層

ServiceImpl層

注意:需要掃描Sercies包時(shí),加上@Service注解

Mapper層

注意:需要掃描Mapper包時(shí),需要在接口前面聲明@Mapper注解。這里的方法可以使用@Select、@Insert、@Update、@Delete注解,后面跟上sql語(yǔ)句就可以查詢,當(dāng)然也可以使用Mapper.xml形式進(jìn)行查詢。后面帶有參數(shù)的使用一般使用#{params}或${params},前者會(huì)解析成字符串(也就是帶有雙引號(hào))后者會(huì)解析成原來(lái)的樣子(比如傳入的是int類型的數(shù)字,解析成數(shù)字,傳入字符串,則解析成字符串)。并且最好在接口的方法內(nèi)使用@Param()注解來(lái)聲明下。

,非常適合在應(yīng)用程序啟動(dòng)之初進(jìn)行一些數(shù)據(jù)初始化的工作。

@SpringBootApplication
public class CommandLineRunnerApplication {
    public static void main(String[] args) {
        System.out.println("The service to start.");
        SpringApplication.run(CommandLineRunnerApplication.class, args);
        System.out.println("The service has started.");
    }
}

接下來(lái)我們直接創(chuàng)建一個(gè)類繼承 CommandLineRunner ,并實(shí)現(xiàn)它的 run() 方法。

@Component
public class Runner implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("The Runner start to initialize ...");
    }
}

我們?cè)?run() 方法中打印了一些參數(shù)來(lái)看出它的執(zhí)行時(shí)機(jī)。完成之后啟動(dòng)項(xiàng)目進(jìn)行測(cè)試:

...
The service to start.
  .   ____          _            __ _ _
 / / ___"_ __ _ _(_)_ __  __ _    
( ( )\___ | "_ | "_| | "_ / _` |    
 /  ___)| |_)| | | | | || (_| |  ) ) ) )
  "  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.0.RELEASE)
...
2018-04-21 22:21:34.706  INFO 27016 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ""
2018-04-21 22:21:34.710  INFO 27016 --- [           main] com.neo.CommandLineRunnerApplication     : Started CommandLineRunnerApplication in 3.796 seconds (JVM running for 5.128)
The Runner start to initialize ...
The service has started.

根據(jù)控制臺(tái)的打印信息我們可以看出 CommandLineRunner 中的方法會(huì)在 Spring Boot 容器加載之后執(zhí)行,執(zhí)行完成后項(xiàng)目啟動(dòng)完成。

如果我們?cè)趩?dòng)容器的時(shí)候需要初始化很多資源,并且初始化資源相互之間有序,那如何保證不同的 CommandLineRunner 的執(zhí)行順序呢?Spring Boot 也給出了解決方案。那就是使用 @Order 注解。

我們創(chuàng)建兩個(gè) CommandLineRunner 的實(shí)現(xiàn)類來(lái)進(jìn)行測(cè)試:

第一個(gè)實(shí)現(xiàn)類:

@Component
@Order(1)
public class OrderRunner1 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("The OrderRunner1 start to initialize ...");
    }
}

第二個(gè)實(shí)現(xiàn)類:

@Component
@Order(2)
public class OrderRunner2 implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("The OrderRunner2 start to initialize ...");
    }
}

添加完成之后重新啟動(dòng),觀察執(zhí)行順序:

...
The service to start.
  .   ____          _            __ _ _
 / / ___"_ __ _ _(_)_ __  __ _    
( ( )\___ | "_ | "_| | "_ / _` |    
 /  ___)| |_)| | | | | || (_| |  ) ) ) )
  "  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.0.0.RELEASE)
...
2018-04-21 22:21:34.706  INFO 27016 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ""
2018-04-21 22:21:34.710  INFO 27016 --- [           main] com.neo.CommandLineRunnerApplication     : Started CommandLineRunnerApplication in 3.796 seconds (JVM running for 5.128)
The OrderRunner1 start to initialize ...
The OrderRunner2 start to initialize ...
The Runner start to initialize ...
The service has started.

通過(guò)控制臺(tái)的輸出我們發(fā)現(xiàn),添加 @Order 注解的實(shí)現(xiàn)類最先執(zhí)行,并且@Order()里面的值越小啟動(dòng)越早。

在實(shí)踐中,使用ApplicationRunner也可以達(dá)到相同的目的,兩著差別不大。

轉(zhuǎn)載:https://www.cnblogs.com/ityou...

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/74080.html

相關(guān)文章

  • 市長(zhǎng)信箱郵件查詢服務(wù): 將SpringBoot應(yīng)用部署到Docker

    摘要:市長(zhǎng)信箱郵件查詢服務(wù)將應(yīng)用部署到在上一章我完成了將部署到的工作和都具有能快速啟動(dòng)的特性因此是一對(duì)用來(lái)部署微服務(wù)的黃金搭檔在計(jì)劃中基于的應(yīng)用也將部署到之上那我們就開(kāi)始行動(dòng)吧將部署到上需要執(zhí)行以下步驟保證打包后的可執(zhí)行能正常啟動(dòng)在應(yīng)用中編寫(xiě)鏡像 市長(zhǎng)信箱郵件查詢服務(wù): 將SpringBoot應(yīng)用部署到Docker 在上一章, 我完成了將ES部署到Docker的工作. SpringBoot和...

    SKYZACK 評(píng)論0 收藏0
  • Gradle構(gòu)建SpringBoot程序依賴管理之依賴版本自動(dòng)控制

    摘要:前言體系中很多庫(kù)之間相互依賴,但是由于版本之間差異比較大,我們需要比較精確的知道每個(gè)庫(kù)的版本對(duì)應(yīng)關(guān)系,不然很容易造成庫(kù)與庫(kù)之間對(duì)應(yīng)不上,導(dǎo)致部分功能無(wú)效,甚至是異常情況。 前言:Spring體系中很多庫(kù)之間相互依賴,但是由于版本之間差異比較大,我們需要比較精確的知道每個(gè)庫(kù)的版本對(duì)應(yīng)關(guān)系,不然很容易造成庫(kù)與庫(kù)之間對(duì)應(yīng)不上,導(dǎo)致部分功能無(wú)效,甚至是異常情況。程序員排查起來(lái)一個(gè)頭兩個(gè)大,本篇...

    劉德剛 評(píng)論0 收藏0
  • springboot啟動(dòng) @ComponentScan錯(cuò)誤

    摘要:錯(cuò)誤提示根據(jù)的來(lái)運(yùn)行會(huì)報(bào)出下面的錯(cuò)誤解決方法原來(lái)是是偷懶沒(méi)有把放到某個(gè)下面,而是直接放到了。 錯(cuò)誤提示 根據(jù)springboot的tutorial來(lái)運(yùn)行 https://spring.io/guides/gs/spring-boot/ 會(huì)報(bào)出下面的錯(cuò)誤: 2016-01-28 11:35:42.034 INFO 3732 --- [ main] Applicati...

    Anchorer 評(píng)論0 收藏0
  • java-study-springboot-基礎(chǔ)學(xué)習(xí)-02-Springboot helloworl

    摘要:自動(dòng)配置會(huì)根據(jù)項(xiàng)目中的包依賴,自動(dòng)做出配置,支持的自動(dòng)配置如下非常多甚至包含了備注如果我們不需要自動(dòng)配置,想關(guān)閉某一項(xiàng)的自動(dòng)配置,該如何設(shè)置呢比如我們不想自動(dòng)配置,想手動(dòng)配置。 SpringBoot 入門(mén) 1、SpringBoot 入口類說(shuō)明 1.1注解說(shuō)明 showImg(https://segmentfault.com/img/bVbjvc9?w=707&h=232);@Sprin...

    Amos 評(píng)論0 收藏0
  • SpringBoot非官方教程 | 第一篇:構(gòu)建第一個(gè)SpringBoot工程

    摘要:簡(jiǎn)介它的設(shè)計(jì)目的就是為例簡(jiǎn)化開(kāi)發(fā),開(kāi)啟了各種自動(dòng)裝配,你不想寫(xiě)各種配置文件,引入相關(guān)的依賴就能迅速搭建起一個(gè)工程。它采用的是建立生產(chǎn)就緒的應(yīng)用程序觀點(diǎn),優(yōu)先于配置的慣例。另,本系列教程全部用的作為開(kāi)發(fā)工具。 簡(jiǎn)介 spring boot 它的設(shè)計(jì)目的就是為例簡(jiǎn)化開(kāi)發(fā),開(kāi)啟了各種自動(dòng)裝配,你不想寫(xiě)各種配置文件,引入相關(guān)的依賴就能迅速搭建起一個(gè)web工程。它采用的是建立生產(chǎn)就緒的應(yīng)用程序觀...

    Cheriselalala 評(píng)論0 收藏0
  • SpringBoot

    摘要:基于,支持后面的版本二基本使用網(wǎng)頁(yè)生成訪問(wèn)生成項(xiàng)目并下載。這里的配置項(xiàng)可以自動(dòng)提示。數(shù)據(jù)配置文件配置四整合映射跟之前一樣注冊(cè)注冊(cè)攔截器五整合基本整合使用映射文件映射文件和注解同時(shí)存在注解引入配置文件增加事務(wù)六自動(dòng)配置自動(dòng)原理配置項(xiàng) 一、SpringBoot簡(jiǎn)介 1. 使用SSM開(kāi)發(fā)項(xiàng)目的時(shí)候有什么不足之處 創(chuàng)建ssm項(xiàng)目比較麻煩 配置比較麻煩 依賴的配置比較多比較麻煩 手動(dòng)集成第三方...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<