这篇文章主要介绍了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
%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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。