欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

【spring-boot】快速構(gòu)建spring-boot微框架的方法

 更新時(shí)間:2017年12月25日 09:13:48   作者:大招無(wú)限  
本篇文章主要介紹了【spring-boot】快速構(gòu)建spring-boot微框架的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

spring-boot是一個(gè)快速構(gòu)建環(huán)境的一套框架,其設(shè)計(jì)理念是盡可能的減少xml的配置,用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。

廢話(huà)不多說(shuō),關(guān)于spring-boot是什么具體請(qǐng)百度。

官網(wǎng):http://projects.spring.io/spring-boot

1. spring-boot是一個(gè)mavan項(xiàng)目,所以其使用的jar包全部是通過(guò)maven管理,當(dāng)然,使用maven也是非常方便的。

首先上我的項(xiàng)目目錄結(jié)構(gòu):

      

spring-boot打出來(lái)的包是一個(gè)可執(zhí)行jar包的狀態(tài),使用的是內(nèi)置的tomcat服務(wù)器,所以不需要將項(xiàng)目轉(zhuǎn)成EJB項(xiàng)目。

2.設(shè)置pom.xml文件

使用過(guò)maven的朋友都知道,maven通過(guò)pom文件的依賴(lài)來(lái)進(jìn)行管理jar包,所以核心也是這個(gè)pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.lclc.boot</groupId>
  <artifactId>boot-cache</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <!-- Inherit defaults from Spring Boot -->
  <parent>
    <!--Spring Boot基礎(chǔ)父類(lèi),其中包含了很多必要的jar包,如果不使用父類(lèi),則需要自己去依賴(lài)這些jars -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.3.RELEASE</version>
  </parent>
  <dependencies>
    <!-- web程序的啟動(dòng)項(xiàng)依賴(lài),通過(guò)此依賴(lài)可引入內(nèi)嵌的tomcat等web必須的jars -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- spring-data-jpa程序的啟動(dòng)項(xiàng)依賴(lài),底層為hibernate實(shí)現(xiàn),若不使用此框架則可以依賴(lài)其他的orm框架 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- thymeleaf程序的啟動(dòng)項(xiàng)依賴(lài),spring-boot對(duì)thymeleaf模板引擎支持最好,建議模板引擎使用此框架 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <!-- mysql依賴(lài),使用spring-data-jpa需要指定一個(gè)數(shù)據(jù)庫(kù)方言,用于連接數(shù)據(jù)庫(kù),即mysql驅(qū)動(dòng) -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <!-- 通過(guò)maven構(gòu)建的插件 -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
  <!-- 倉(cāng)庫(kù),使用spring-boot RELEASE版本需要這些 -->
  <repositories>
    <repository>
      <id>spring-snapshots</id>
      <url>http://repo.spring.io/snapshot</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>spring-milestones</id>
      <url>http://repo.spring.io/milestone</url>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>spring-snapshots</id>
      <url>http://repo.spring.io/snapshot</url>
    </pluginRepository>
    <pluginRepository>
      <id>spring-milestones</id>
      <url>http://repo.spring.io/milestone</url>
    </pluginRepository>
  </pluginRepositories>

</project>

3.使用maven update 下載jar包  

4.由于我們使用了thymeleaf引擎,此引擎需要一個(gè)templates文件夾來(lái)存放靜態(tài)頁(yè)面,以便進(jìn)行跳轉(zhuǎn)前臺(tái)。

所以在resources下添加此文件夾并加入一個(gè)默認(rèn)的頁(yè)面index.html(注:此文件夾下必須有一個(gè)html頁(yè)面,否則thymeleaf啟動(dòng)項(xiàng)會(huì)拋異常)

5.編寫(xiě)application.properties

這個(gè)配置文件是對(duì)spring-boot的一些配置,spring-boot通過(guò)此文件對(duì)集成在其中的一些框架進(jìn)行配置。由我的項(xiàng)目結(jié)構(gòu)可以看出,我有兩個(gè)application.properties文件:

application.properties:主配置文件,spring-boot直接讀取這個(gè)文件。注:配置文件必須放在resources下,即放在項(xiàng)目根目錄下。

application-dev.properties:開(kāi)發(fā)環(huán)境配置文件,這個(gè)是我的開(kāi)發(fā)環(huán)境的配置文件,為了簡(jiǎn)化一些開(kāi)發(fā),所以需要一些與部署環(huán)境不同的配置,比如頁(yè)面緩存之類(lèi)的。此文件通過(guò)application.properties的spring.profiles.active屬性進(jìn)行配置讀取。

上兩個(gè)文件的代碼:

首先是application.properties:

# PROFILES
## dev | prod | test
spring.profiles.active=dev

# EMBEDDED SERVER CONFIGURATION (ServerProperties)
server.port=8080
server.session-timeout=30
server.context-path=
server.tomcat.max-threads=0
server.tomcat.uri-encoding=UTF-8

# THYMELEAF (ThymeleafAutoConfiguration)
spring.thymeleaf.encoding=UTF-8

# DataSource
spring.datasource.initialize=false
spring.datasource.test-on-borrow=false
spring.datasource.test-on-return=false
spring.datasource.test-while-idle=true
spring.datasource.max-wait-millis=30000
spring.datasource.validation-query=SELECT 1
spring.datasource.time-between-eviction-runs-millis=20000
spring.datasource.min-evictable-idle-time-millis=28700

然后是application-dev.properties:

#page cache
spring.thymeleaf.cache=false

# DATASOURCE 
spring.datasource.platform=mysql
spring.datasource.url=jdbc:mysql://localhost/test_development?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.max-active=5
spring.datasource.max-idle=2
spring.datasource.min-idle=1
spring.datasource.initial-size=1
spring.datasource.initialize=false

# JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.use_sql_comments=true

6.于是配置便完成了,現(xiàn)在看怎么使用spring-boot進(jìn)行啟動(dòng)一個(gè)web程序

spring-boot打的包是一個(gè)可執(zhí)行的jar包,當(dāng)然也可以打成可執(zhí)行的war包,啟動(dòng)服務(wù)器就完全不需要像以前一樣弄一個(gè)tomcat進(jìn)行啟動(dòng)了,完全是java application進(jìn)行啟動(dòng)

通過(guò)一個(gè)啟動(dòng)文件的main方法

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
  public static void main(String[] args){
    SpringApplication springApplication = new SpringApplication (Application.class);
    springApplication.run (args);
  }
}

先來(lái)解釋下這個(gè)文件中的代碼。

@Configuration:標(biāo)注此文件為一個(gè)配置項(xiàng)

@EnableAutoConfiguration:使用自動(dòng)配置

@ComponentScan:可掃描的

SpringApplication:?jiǎn)?dòng)管理器。

注意,由于是使用注解的方式,所以需要配置掃描路徑,spring-boot使用的是啟動(dòng)管理器所在的包為根掃描路徑。會(huì)掃描其所在的包和子包,所以需要將Application.java放在跟路徑下,即com.test這個(gè)包里。

7.然后執(zhí)行一下就好了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java并發(fā)學(xué)習(xí)之BlockingQueue實(shí)現(xiàn)生產(chǎn)者消費(fèi)者詳解

    java并發(fā)學(xué)習(xí)之BlockingQueue實(shí)現(xiàn)生產(chǎn)者消費(fèi)者詳解

    這篇文章主要介紹了java并發(fā)學(xué)習(xí)之BlockingQueue實(shí)現(xiàn)生產(chǎn)者消費(fèi)者詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • 詳解Spring Aop實(shí)例之AspectJ注解配置

    詳解Spring Aop實(shí)例之AspectJ注解配置

    本篇文章主要介紹了詳解Spring Aop實(shí)例之AspectJ注解配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • Java老矣 尚能飯否?

    Java老矣 尚能飯否?

    Java老矣,尚能飯否?各類(lèi)編程語(yǔ)言橫空出世,紛戰(zhàn)不休,然而 TIOBE 的語(yǔ)言排行榜上,Java 卻露出了明顯的頹勢(shì)。這個(gè)老牌的語(yǔ)言,未來(lái)會(huì)是怎樣?
    2017-06-06
  • Java中使用While語(yǔ)句自增運(yùn)算遍歷數(shù)組典型實(shí)例

    Java中使用While語(yǔ)句自增運(yùn)算遍歷數(shù)組典型實(shí)例

    這篇文章主要介紹了Java中使用While語(yǔ)句自增運(yùn)算遍歷數(shù)組典型實(shí)例,本文直接給出實(shí)例代碼,并對(duì)每一句代碼都注解了詳細(xì)注釋,需要的朋友可以參考下
    2015-06-06
  • 深入介紹Java對(duì)象初始化

    深入介紹Java對(duì)象初始化

    本文對(duì)Java如何執(zhí)行對(duì)象的初始化做一個(gè)詳細(xì)深入地介紹。有需要的小伙伴們可以參考。
    2016-07-07
  • Mybatis注解增刪改查的實(shí)例代碼

    Mybatis注解增刪改查的實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Mybatis注解增刪改查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Nacos與SpringBoot實(shí)現(xiàn)配置管理的開(kāi)發(fā)實(shí)踐

    Nacos與SpringBoot實(shí)現(xiàn)配置管理的開(kāi)發(fā)實(shí)踐

    在微服務(wù)架構(gòu)中,配置管理是一個(gè)核心組件,而Nacos為此提供了一個(gè)強(qiáng)大的解決方案,本文主要介紹了Nacos與SpringBoot實(shí)現(xiàn)配置管理的開(kāi)發(fā)實(shí)踐,具有一定的參考價(jià)值
    2023-08-08
  • mybatis攔截器及不生效的解決方法

    mybatis攔截器及不生效的解決方法

    本文主要介紹了mybatis攔截器及不生效的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Java之理解多態(tài)詳解

    Java之理解多態(tài)詳解

    大家好,本篇文章主要講的是Java之理解多態(tài)詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • 使用Spring的JAVA Mail支持簡(jiǎn)化郵件發(fā)送功能

    使用Spring的JAVA Mail支持簡(jiǎn)化郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了使用Spring的JAVA Mail支持簡(jiǎn)化郵件發(fā)送功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04

最新評(píng)論