SpringBoot 模块项目流程

SpringBoot 模块项目流程

1.搭建主项目 Maven Project

​ 搭建简单项目

主项目是pom

2.搭建子项目

​ 子项目用jar 可以在CMD直接运行jar包 (但前提是必须配置JRE_HOME环境变量)

java -jar xxxx.jar(包) (关闭cmd窗口就直接关闭程序)

重复上边第二步的步骤把其他模块也建立好 例:公共模块(common)、权限模块(auth)、启动模块(web)。

3.引入Jar包

​ 修改pom主项目内的模块是通过pomne的modules聚合在一起的。

​ 同时把项目需要的Jar包黏贴进pom内

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.4.1</version>
	<relativePath/> <!-- lookup parent from repository -->
</parent>
	<properties>
		<java.version>1.8</java.version>
	</properties>
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-devtools</artifactId>
		<scope>runtime</scope>
		<optional>true</optional>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>

     <!-- alibaba的druid数据库连接池 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.10</version>
    </dependency>

   <!-- alibaba的fastJson处理 -->
    <dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>fastjson</artifactId>
		<version>1.2.9</version>
   </dependency>

   <!-- Mybatis与SpringBoot的关联Jar包 -->
   <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>

    <!-- Mysql的驱动jar包 -->
    <dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.49</version>
	</dependency>
</dependencies>

​ 配置需要有关联的模块的pom.xml加入:

<dependencies>
		<dependency>
			<groupId>com.hp</groupId>
			<artifactId>需要关联的模块名</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
</dependencies>

​ 同时记得配置启动模块:

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
</build>

​ 这里引入了spring-boot-maven-plugin,打包时会去扫描项目main方法入口,也就是说引入该配置,你就必须在项目src/main/java/下创建一个spring-boot启动类:

package com.hp.client;

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

@SpringBootApplication(scanBasePackages="com") //扫描路径
public class Application {
	
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}

更新、重构、Clean 主项目

​ 1.更新

​ 2.Clean 清缓存

​ 3.重构

4.配置Spring Boot 的核心配置文件

核心配置格式有两种(配置在src/main/resources路径下)

(1).properties 文件(默认采用该文件)

(2).yml 文件

​ 配置文件内容:

#Tomcat配置 端口号
server:
   port: 80
   session-timeout: 30
   tomcat.max-threads: 0
   tomcat.uri-encoding: UTF-8
   
#数据库连接文件
spring:
   datasource:
      url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
      username: root
      password: root
      driver-class-name: com.mysql.jdbc.Driver
      type: com.alibaba.druid.pool.DruidDataSource
      connectionProperties: druid.stat.mergeSql=true
      filters : stat,wall
      
#静态文件 可以配置多个路径,多个路径用逗号隔开
resources:
   static-locations: classpath:/static/,classpath:/views/
      
#Mybatis配置
mybatis:
   config-location: classpath:config/mybatis-config.xml
5.写处理类,例如Controller Service Dao等并运行项目测试
package com.hp.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class Usercontroller {
	
	@RequestMapping("insert")
	@ResponseBody
	public String insert() {
		return "Hello";
	}
}

​ 在启动类Application.java中运行程序

​ 运行没有报错,去浏览器测试响应

6.配置德鲁伊监控

​ 在静态资源配置文件夹resources/config下配置druid.properties文件内容如下:

# 这4个参数key里不带druid也可以,即可以还用上面的这个4个参数

spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.druid.username=root
spring.datasource.druid.password=root
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver

# 初始化时建立物理连接的个数

spring.datasource.druid.initial-size=5

# 最大连接池数量

spring.datasource.druid.max-active=30

# 最小连接池数量

spring.datasource.druid.min-idle=5

# 获取连接时最大等待时间,单位毫秒

spring.datasource.druid.max-wait=60000

# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒

spring.datasource.druid.time-between-eviction-runs-millis=60000

# 连接保持空闲而不被驱逐的最小时间

spring.datasource.druid.min-evictable-idle-time-millis=300000

# 用来检测连接是否有效的sql,要求是一个查询语句

spring.datasource.druid.validation-query=SELECT 1 FROM DUAL

# 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。

spring.datasource.druid.test-while-idle=true

# 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。

spring.datasource.druid.test-on-borrow=false

# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。

spring.datasource.druid.test-on-return=false

# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。

spring.datasource.druid.pool-prepared-statements=false

# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。

spring.datasource.druid.max-pool-prepared-statement-per-connection-size=50

# 配置监控统计拦截的filters,去掉后监控界面sql无法统计

spring.datasource.druid.filters=stat,wall

# 通过connectProperties属性来打开mergeSql功能;慢SQL记录

spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

# 合并多个DruidDataSource的监控数据

spring.datasource.druid.use-global-data-source-stat=true 

在启动模块中配置默认路径

配置后在浏览器输入默认路径http://127.0.0.1/druid/login.html

posted @ 2021-01-28 00:45  qtyanan  阅读(97)  评论(0编辑  收藏  举报