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

SpringBoot多模塊項目框架搭建過程解析

 更新時間:2020年01月29日 09:06:53   作者:seliote  
這篇文章主要介紹了SpringBoot多模塊項目框架搭建過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了SpringBoot多模塊項目框架搭建過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

創(chuàng)建根項目,New Project 創(chuàng)建一個名為 sms-bomber 的 SpringBoot 新項目,打包為 JAR 的即可,這里只添加 Lombok 與 spring-boot-starter-web 依賴,這兩個依賴會傳遞給所有子模塊,刪除創(chuàng)建完成的項目中的 .mvn\ src\ mvnw mvnw.cmd

創(chuàng)建啟動模塊,根目錄項目名上右鍵 New -> Model 選擇 Maven 類型,不要選擇 create from archetype,Parent 屬性選擇剛才創(chuàng)建的根項目,先創(chuàng)建一個 ${PREFIXE}-start 的模塊,用于啟動項目,start 模塊 resources 目錄下創(chuàng)建

server:
 servlet:
  # 項目上下文路徑
  context-path: /sms-bomber

spring:
 main:
  # 關閉 banner
  banner-mode: off
 profiles:
  # 測試環(huán)境
  active: dev-mysql
  # 生產(chǎn)環(huán)境
  # active: prod-mysql

以及 logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">

  <!-- FIXME 記得更改如下配置 -->
  <!-- CONSOLE/FILE -->
  <property name="output-ref" value="CONSOLE" />
  <property name="logfile-dir" value="D:/Tmp/Log" />

  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
      <charset>utf-8</charset>
    </encoder>
    <file>${logfile-dir}/ticket.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>${logfile-dir}/ticket.%i.log</fileNamePattern>
      <minIndex>1</minIndex>
      <maxIndex>5</maxIndex>
    </rollingPolicy>
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>1MB</maxFileSize>
    </triggeringPolicy>
  </appender>

  <root level="INFO">
    <appender-ref ref="${output-ref}" />
  </root>
  <!-- 指定包的日志等級 -->
  <!-- 使用 additivity="true" 會同時使用 appender-ref -->
  <logger name="com.seliote.smsbomber" level="DEBUG" additivity="false">
    <appender-ref ref="${output-ref}" />
  </logger>

</configuration>

創(chuàng)建項目啟動類

package com.seliote.smsbomber;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 項目啟動類
 *
 * @author LiYangDi
 * @since 2020/1/26
 */
@SpringBootApplication(scanBasePackages = "com.seliote.smsbomber")
public class Application {

  public static void main(String... args) {
    SpringApplication.run(Application.class, args);
  }
}

創(chuàng)建 Servlet 初始化類

package com.seliote.smsbomber;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * 打 WAR 包 Servlet 初始化
 *
 * @author LiYangDi
 * @since 2020/1/26
 */
public class ServletInitializer extends SpringBootServletInitializer {

  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(Application.class);
  }
}

修改 IDEA 的啟動類,嘗試啟動項目

修改啟動模塊打包方式為 war, 修改啟動模塊的 pom.xml,project 節(jié)點下添加 <packaging>war</packaging> 與

<build>
  <plugins>
    <!-- 打包配置 -->
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <configuration>
        <!-- war 包名 -->
        <finalName>sms-bomber</finalName>
      </configuration>
    </plugin>
  </plugins>
</build>

建一個 TestCtr,maven package 一下把 war 扔進 Tomcat 里體驗一下

創(chuàng)建模塊 persistence, service, web, common 層模塊層模塊,并配置相關依賴,根項目 pom.xml 里添加依賴 project 節(jié)點下添加,再依次

<!-- 用于多模塊版本管理 -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.seliote</groupId>
      <artifactId>sms-bomber-common</artifactId>
      <version>${sms-bomber.version}</version>
    </dependency>
    <dependency>
      <groupId>com.seliote</groupId>
      <artifactId>sms-bomber-persistence</artifactId>
      <version>${sms-bomber.version}</version>
    </dependency>
    <dependency>
      <groupId>com.seliote</groupId>
      <artifactId>sms-bomber-service</artifactId>
      <version>${sms-bomber.version}</version>
    </dependency>
    <dependency>
      <groupId>com.seliote</groupId>
      <artifactId>sms-bomber-web</artifactId>
      <version>${sms-bomber.version}</version>
    </dependency>
    <dependency>
      <groupId>com.seliote</groupId>
      <artifactId>sms-bomber-start</artifactId>
      <version>${sms-bomber.version}</version>
    </dependency>
    <dependency>
      <groupId>org.mariadb.jdbc</groupId>
      <artifactId>mariadb-java-client</artifactId>
      <version>${mariadb.version}</version>
    </dependency>
  </dependencies>
</dependencyManagement>

dependencies 節(jié)點下添加用于全局模塊使用

<dependency>
  <groupId>com.seliote</groupId>
  <artifactId>sms-bomber-common</artifactId>
</dependency>

${sms-bomber.version} 等版本定義在 properties 標簽下定義

persistence 模塊的 pom.xml 下添加依賴

<dependencies>
  <!-- MariaDB 驅動 -->
  <dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <scope>runtime</scope>
  </dependency>
  <!-- 持久層框架 -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
</dependencies>

service 模塊 pom.xml 下添加

<dependencies>
  <dependency>
    <groupId>com.seliote</groupId>
    <artifactId>sms-bomber-persistence</artifactId>
  </dependency>
</dependencies>

web 模塊 pom.xml 下添加

<dependencies>
  <dependency>
    <groupId>com.seliote</groupId>
    <artifactId>sms-bomber-service</artifactId>
  </dependency>
</dependencies>

start 模塊 pom.xml 下添加

<dependencies>
  <dependency>
    <groupId>com.seliote</groupId>
    <artifactId>sms-bomber-web</artifactId>
  </dependency>
</dependencies>

配置 SpringDataJpa

dev yml 下添加

spring:
 datasource:
 driver-class-name: org.mariadb.jdbc.Driver
 url: jdbc:mariadb://127.0.0.1:3306/sms_bomber
 username: sms_bomber
 password: 123456!@#$%^qp
 jpa:
 database-platform: org.hibernate.dialect.MariaDB103Dialect
 open-in-view: false
 show-sql: true

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 深入淺出分析Java 類和對象

    深入淺出分析Java 類和對象

    面向對象乃是Java語言的核心,是程序設計的思想。Java語言的面向對象技術包括了面向對象和面向過程的基本概念,面向對象的特征,Java語言的類,對象,修飾符,抽象類等一系列的知識點
    2022-03-03
  • 實例分析Java單線程與多線程

    實例分析Java單線程與多線程

    本篇文章通過代碼實例給大家詳細講述了Java單線程與多線程的相關原理和知識點總結,需要的朋友可以學習下。
    2018-02-02
  • 解析spring事務管理@Transactional為什么要添加rollbackFor=Exception.class

    解析spring事務管理@Transactional為什么要添加rollbackFor=Exception.class

    這篇文章主要介紹了spring事務管理@Transactional為什么要添加rollbackFor=Exception.class,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 基于Struts文件上傳(FormFile)詳解

    基于Struts文件上傳(FormFile)詳解

    下面小編就為大家?guī)硪黄赟truts文件上傳(FormFile)詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • springboot使用ThreadPoolTaskExecutor多線程批量插入百萬級數(shù)據(jù)的實現(xiàn)方法

    springboot使用ThreadPoolTaskExecutor多線程批量插入百萬級數(shù)據(jù)的實現(xiàn)方法

    這篇文章主要介紹了springboot利用ThreadPoolTaskExecutor多線程批量插入百萬級數(shù)據(jù),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • JAVA collection集合之撲克牌游戲實例

    JAVA collection集合之撲克牌游戲實例

    本篇文章主要介紹了JAVA collection集合之撲克牌游戲實例,使用了collection集合開發(fā)小游戲,有需要的可以了解一下。
    2016-11-11
  • Java 數(shù)據(jù)結構與算法系列精講之哈希算法實現(xiàn)

    Java 數(shù)據(jù)結構與算法系列精講之哈希算法實現(xiàn)

    哈希表本質是一種(key,value)結構,由此我們可以聯(lián)想到,能不能把哈希表的key映射成數(shù)組的索引index呢?如果這樣做的話那么查詢相當于直接查詢索引,查詢時間復雜度為O(1),其實這也正是當key為int型時的做法,將key通過某種做法映射成index,從而轉換成數(shù)組結構
    2022-02-02
  • Java多線程之Park和Unpark原理

    Java多線程之Park和Unpark原理

    這篇文章主要介紹了Java多線程之Park和Unpark原理,需文中有非常詳細的代碼示例,對正在學習java的小伙伴們有非常好的幫助,要的朋友可以參考下
    2021-04-04
  • JDK12的新特性之teeing collectors

    JDK12的新特性之teeing collectors

    這篇文章主要介紹了JDK12的新特性之teeing collectors的相關資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • springboot+thymeleaf找不到視圖的解決方案

    springboot+thymeleaf找不到視圖的解決方案

    這篇文章主要介紹了springboot+thymeleaf找不到視圖的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論