目录
一、 项目介绍
本项目是一个实现中小企业的在线办公系统,CloudE在线办公系统是一个用来管理日常的办公事务的系统。
具体内容:日常的各种流程审批,新闻,通知,公告,文件信息,财务,人事,费用,资产,行政,项目,移动办公等等。
作用:通过软件的方式,方便管理。更加简单,更加扁平,高效规范,提高整体管理运营水平。
本项目技术方面使用目前主流的前后端分离开发模式,使用社区活跃主流的开源框架Spring Boot构建后端,旨在实现CloudE在线办公系统。包括职位管理,职称管理。部门管理,员工管理,工资管理,在线聊天等技术模块。项目中还会使用业界主流第三方组件扩展技能池。
本项目主要模块及技术点:
二、 项目搭建
1. 创建父项目
- pox.xml删掉一部分配置,如图所示:
- dependencies部分
- build部分
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.8</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.chuci</groupId>
<artifactId>cloude</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>cloude</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
</project>
- 目录结构除pom.xml,删掉其他文件
2. 创建子项目-> cloud_e_server
2.1 项目新建
父项目右键单击-> new -> Module
父工程pom.xml文件下自动更新插入
<modules>
<module>cloud_e_server</module>
</modules>
cloud_e_server子项目 pom.xml
2.2 添加依赖
添加所需要的依赖,同时暂时删除配置文件 build 这部分
- web 依赖
- lombok 依赖
- mysql 依赖
- mybatis-plus 依赖
- swagger2 依赖
- Swagger第三方ui依赖
- security 依赖
- JWT 依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloud_e</artifactId>
<groupId>com.chuci</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud_e_server</artifactId>
<name>cloud_e_server</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!--web 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--lombok 依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--mysql 依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mybatis-plus 依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- swagger2 依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- Swagger第三方ui依赖 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
<!--security 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!--JWT 依赖-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
</dependencies>
</project>
2.3 添加配置文件
resources -> new -> file -> application.yml
# 端口
server:
port: 8081
# 数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_cloud_e?useUnicode=true&characterEncoding=UTF-
8&serverTimezone=Asia/Shanghai
username: root
password: root
hikari:
# 连接池名
pool-name: DateHikariCP
# 最小空闲连接数
minimum-idle: 5
# 空闲连接存活最大时间 默认 600000(10分钟)
idle-timeout: 180000
# 最大连接数, 默认 10
maximum-pool-size: 10
# 从连接池返回的连接自动提交
auto-commit: true
# 连接最大存活时间 0 表示永久 默认1800000(30分钟)
max-lifetime: 1800000
# 连接超时时间 默认30000(30秒)
connection-timeout: 30000
# 测试连接是否可用查询语句
connection-test-query: SELECT 1
# mybatis-plus 配置
mybatis-plus:
# 配置Mapper映射文件
mapper-locations: classpath:/mappers/*Mapper.xml
# 配置mybatis数据返回类型别名(默认别名是类名)
type-aliases-package: com.chuci.server.model
configuration:
# 自动驼峰命名
map-underscore-to-camel-case: false
# SQL打印 (方法接口所在包, 不是Mapper.xml所在包)
logging:
level:
com.chuci.server.dao: debug
# jwt配置
jwt:
# JWT存储的请求头
tokenHeader: Authorization
# JWT 加解密使用的密钥
secret: cloude-secret
# JWT的超期限时间(60*60*24)
expiration: 604800
# JWT 负载中拿到开头
tokenHead: Bearer
2.4 新建启动类 CloudEServerApplication.java
包名: com.chuci.server
启动类:CloudEServerApplication.java
package com.chuci.server;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Auther chuci
* @Data 2021-12-22 21:21
* @Description:
*/
@SpringBootApplication
@MapperScan("com.chuci.server.mapper")
public class CloudEServerApplication {
public static void main(String[] args) {
SpringApplication.run(CloudEServerApplication.class, args);
}
}
2.5 Cloud_e_server完整目录
至此,本节完~~~
此 系 列 以 完 整 记 录 自 己 项 目 经 历 此系列以完整记录自己项目经历 此系列以完整记录自己项目经历