项目构建
目录结构
引入application.properties
admin模块就用9090端口 api 模块就用9091端口,其他配置先一样
# 应用服务 WEB 访问端口
server.port=9090
server.servlet.context-path=/api
#session过期时间 60M 一个小时
server.servlet.session.timeout=PT60M
#错误页处理
spring.mvc.throw-exception-if-no-handler-found=true
spring.web.resources.add-mappings=false
#数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/easyjob?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.pool-name=HikariCPDatasource
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=180000
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
#项目目录
project.folder=e:/webser/web_app/easyjob/
#日志级别配置
log.root.level=debug
#是否是开发环境
isDev=false
引入logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="10 minutes">
<appender name="stdot" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{yyyy-MM-dd HH:mm:ss,GMT+8} [%p][%c][%M][%L]-> %m%n</pattern>
</layout>
</appender>
<springProperty scope="context" name="log.path" source="project.folder"/>
<springProperty scope="context" name="log.root.level" source="log.root.level"/>
<property name="LOG_FOLDER" value="logs"/>
<property name="LOG_FILE_NAME" value="easyjob-admin.log"/>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/${LOG_FOLDER}/${LOG_FILE_NAME}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.path}/${LOG_FOLDER}/${LOG_FILE_NAME}.%d{yyyyMMdd}.%i</FileNamePattern>
<cleanHistoryOnStart>true</cleanHistoryOnStart>
<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>20MB</MaxFileSize>
</TimeBasedFileNamingAndTriggeringPolicy>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<pattern>%d{yyyy-MM-dd HH:mm:ss,GMT+8} [%p][%c][%M][%L]-> %m%n</pattern>
</encoder>
<append>false</append>
<prudent>false</prudent>
</appender>
<root level="${log.root.level}">
<appender-ref ref="stdot"/>
<appender-ref ref="file"/>
</root>
</configuration>
admin和api 分别改下这个配置
这里改成easyjob-admin.log 和easyjob-api.log
新建启动类
分别新建
EasyjobAdminApplication.java
和
EasyjobApiApplication.java
这里的类名要跟pom.xml里面配置的入口类一样
package com.easyjob;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication(scanBasePackages = {"com.easyjob"})
@EnableTransactionManagement
@EnableScheduling
@EnableAsync
public class EasyjobApiApplication {
public static void main(String[] args) {
SpringApplication.run(EasyjobApiApplication.class,args);
}
}
登录
创建数据库
CREATE TABLE `sys_account` (
`user_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`phone` VARCHAR(11) DEFAULT NULL COMMENT '手机号',
`user_name` VARCHAR(20) DEFAULT NULL COMMENT '用户名',
`password` VARCHAR(32) DEFAULT NULL COMMENT '密码',
`position` VARCHAR(150) DEFAULT NULL COMMENT '职位',
`status` TINYINT(1) DEFAULT '1' NULL COMMENT '状态 0:禁用 1:启用',
`roles` VARCHAR(100) DEFAULT NULL COMMENT '用户拥有的角色多个用逗号隔开',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`user_id`),
UNIQUE KEY `idx_phone`(`phone`)
)ENGINE=INNODB AUTO_INCREMENT=1000000 DEFAULT CHARSET=utf8mb4 COMMENT='账号信息'