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

資訊專欄INFORMATION COLUMN

SpringBoot

gaomysion / 2562人閱讀

摘要:前面一種使用的是模板進(jìn)行查詢的。并且最好在接口的方法內(nèi)使用注解來聲明下。,非常適合在應(yīng)用程序啟動之初進(jìn)行一些數(shù)據(jù)初始化的工作。接下來我們直接創(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ù)庫
  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語句就可以查詢,當(dāng)然也可以使用Mapper.xml形式進(jìn)行查詢。后面帶有參數(shù)的使用一般使用#{params}或${params},前者會解析成字符串(也就是帶有雙引號)后者會解析成原來的樣子(比如傳入的是int類型的數(shù)字,解析成數(shù)字,傳入字符串,則解析成字符串)。并且最好在接口的方法內(nèi)使用@Param()注解來聲明下。

,非常適合在應(yī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.");
    }
}

接下來我們直接創(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 ...");
    }
}

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

...
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ù)控制臺的打印信息我們可以看出 CommandLineRunner 中的方法會在 Spring Boot 容器加載之后執(zhí)行,執(zhí)行完成后項(xiàng)目啟動完成。

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

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

第一個(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 ...");
    }
}

添加完成之后重新啟動,觀察執(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.

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

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

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    Cheriselalala 評論0 收藏0
  • SpringBoot

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

    mykurisu 評論0 收藏0

發(fā)表評論

0條評論

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