SpringBoot多模块项目框架搭建过程解析

这篇文章主要介绍了SpringBoot多模块项目框架搭建过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

创新互联公司专注于海东企业网站建设,响应式网站开发,电子商务商城网站建设。海东网站建设公司,为海东等地区提供建站服务。全流程按需策划,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

创建根项目,New Project 创建一个名为 sms-bomber 的 SpringBoot 新项目,打包为 JAR 的即可,这里只添加 Lombok 与 spring-boot-starter-web 依赖,这两个依赖会传递给所有子模块,删除创建完成的项目中的 .mvn\ src\ mvnw mvnw.cmd

创建启动模块,根目录项目名上右键 New -> Model 选择 Maven 类型,不要选择 create from archetype,Parent 属性选择刚才创建的根项目,先创建一个 ${PREFIXE}-start 的模块,用于启动项目,start 模块 resources 目录下创建

server:
 servlet:
  # 项目上下文路径
  context-path: /sms-bomber

spring:
 main:
  # 关闭 banner
  banner-mode: off
 profiles:
  # 测试环境
  active: dev-MySQL
  # 生产环境
  # active: prod-mysql

以及 logback.xml

<?xml version="1.0" encoding="UTF-8"?>


  
  
  
  

  
    
      %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
    
  

  
    
      %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
      utf-8
    
    ${logfile-dir}/ticket.log
    
      ${logfile-dir}/ticket.%i.log
      1
      5
    
    
      1MB
    
  

  
    
  
  
  
  
    
  

创建项目启动类

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);
  }
}

创建 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 节点下添加 war


  
    
    
      org.springframework.boot
      spring-boot-maven-plugin
      
        
        sms-bomber
      
    
  

建一个 TestCtr,maven package 一下把 war 扔进 Tomcat 里体验一下

创建模块 persistence, service, web, common 层模块层模块,并配置相关依赖,根项目 pom.xml 里添加依赖 project 节点下添加,再依次



  
    
      com.seliote
      sms-bomber-common
      ${sms-bomber.version}
    
    
      com.seliote
      sms-bomber-persistence
      ${sms-bomber.version}
    
    
      com.seliote
      sms-bomber-service
      ${sms-bomber.version}
    
    
      com.seliote
      sms-bomber-web
      ${sms-bomber.version}
    
    
      com.seliote
      sms-bomber-start
      ${sms-bomber.version}
    
    
      org.mariadb.jdbc
      mariadb-java-client
      ${mariadb.version}
    
  

dependencies 节点下添加用于全局模块使用


  com.seliote
  sms-bomber-common

${sms-bomber.version} 等版本定义在 properties 标签下定义

persistence 模块的 pom.xml 下添加依赖


  
  
    org.mariadb.jdbc
    mariadb-java-client
    runtime
  
  
  
    org.springframework.boot
    spring-boot-starter-data-jpa
  

service 模块 pom.xml 下添加


  
    com.seliote
    sms-bomber-persistence
  

web 模块 pom.xml 下添加


  
    com.seliote
    sms-bomber-service
  

start 模块 pom.xml 下添加


  
    com.seliote
    sms-bomber-web
  

配置 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


本文标题:SpringBoot多模块项目框架搭建过程解析
文章路径:http://hbruida.cn/article/gjdoos.html