---
title: 怎样快速构建项目
description: 描述怎样快速配置可以运行的空项目
published: true
date: 2021-08-17T14:51:16.947Z
tags: wg-basic
editor: markdown
dateCreated: 2021-08-17T13:54:47.580Z
---
# 创建项目
使用IDEA创建SpringBoot项目

| 名称 | 说明 |
|--|--|
| Name | 项目名称,推荐使用英文单词组合创建名字,单词之间用英文减号“-”链接 |
| Languate | 项目语言,这里默认Java |
| Type | 依赖管理工具,这里默认Maven |
| Group | 组ID,应为公司域名倒叙写,如com.cn |
| Artifact | 项目唯一标识,推荐使用英文单词组合创建名字,单词之间用英文减号“-”链接,默认与项目名称一致 |
| Package name | 启动类所在包 |
| Project SDK | 这里选择1.8 |
| Java | java版本,这里与SDK同步,选择8 |
| Packaging | 打包方式,默认为Jar |
注意:这里SpringBoot的版本在 **2.1.2.RELEASE** 版本之上
# POM依赖
properties属性
```xml
1.8
2.1.4
8.0.22
1.1.9
```
dependencies依赖
1. SpringBoot项目必须依赖
```xml
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-freemarker
mysql
mysql-connector-java
${mysql.version}
runtime
org.springframework.boot
spring-boot-starter-test
test
org.mybatis.spring.boot
mybatis-spring-boot-starter
${spring-mybatis.version}
com.alibaba
druid-spring-boot-starter
${druid.version}
junit
junit
test
```
2. wg-basic基础项目所需依赖
```xml
ink.wgink
service-role
1.0-SNAPSHOT
ink.wgink
login-base
1.0-SNAPSHOT
```
# 系统文件目录
| 目录名称 | 说明 |
| --- | --- |
| resources | 资源文件目录,**application.yml** 系统配置文件 |
| resources/mybatis | 存放 **mybatis-config.xml** 配置文件 |
| resources/mybatis/mapper | 存放 **mapper** 文件 |
| resources/static | 静态资源文件目录 |
| resources/static/assets | 系统所需的CSS、JS等资源文件 |
| resources/static/error | 错误页面文件夹,**403.hmtl**、**404.html**、**500.html** |
| resources/static/route | 系统静态页面目录 |
| resources/templates/ | 模板页面与文件目录 |
| src/main/java | java源代码目录 |
| src/main/java/xxx | xxx表示文件所在包,可以有多级 |
| src/main/java/xxx/controller | controller层代码目录 |
| src/main/java/xxx/service | service层代码目录 |
| src/main/java/xxx/dao | dao层代码目录 |
| src/main/java/xxx/pojo | 实体类存放目录 |
| src/main/java/xxx/pojo/bos | 业务实体类目录 |
| src/main/java/xxx/pojo/dtos | 数据传输实体类目录 |
| src/main/java/xxx/pojo/pos | 数据实体类目录 |
| src/main/java/xxx/pojo/vos | 视图实体类目录 |
# 系统所需文件
## application.yml
```yml
server:
port: 8080
url: http://127.0.0.1:8080/system-name
system-title: 系统名称
system-sub-title: 系统子名称
servlet:
context-path: /system-name
spring:
login-url: /oauth/login
login-failure: /oauth/login?error
login-process: /userlogin
assets-matchers: /assets/**
thymeleaf:
prefix: classpath:/templates/
suffix: .html
mode: HTML5
encoding: UTF-8
cache: false
main:
allow-bean-definition-overriding: true
servlet:
multipart:
max-file-size: 1GB
max-request-size: 1GB
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/db_system?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false&useSSL=false&serverTimezone=UTC
db-type: mysql
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
initial-size: 2
min-idle: 2
max-active: 5
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 10
filter:
commons-log:
connection-logger-name: stat,wall,log4j
stat:
log-slow-sql: true
slow-sql-millis: 2000
connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
use-global-data-source-stat: true
mybatis:
config-location: classpath:mybatis/mybatis-config.xml
mapper-locations: classpath*:mybatis/mapper/**/*.xml
swagger:
base-package-list: ink.wgink,com.cn
file:
# 文件的保存路径,斜杠结尾
upload-path: /upload/file/path/
# 图片类型
image-types: png,jpg,jpeg,gif,blob
# 视频类型
video-types: mp4,rmvb
# 音频类型
audio-types: mp3,wmv,amr
# 文件类型
file-types: doc,docx,xls,xlsx,ppt,pptx,txt,zip,rar,apk,pdf
# 同时上传最大支持数
max-file-count: 6
# 图片输出压缩质量,大于0,默认0.4
image-output-quality: 0.4
logging:
file:
name: /log/file/path/logs.log
level:
root: error
org.springframework.boot.autoconfigure.security.servlet: debug
ink.wgink: debug
com.cn: debug
```
## mybatis-config.xml
```xml
```
## 403.html
```html
```
## 404.hmtl
```html
```
## 405.html
```html
```
## 静态资源包
> **assets\*.zip** 资源包解压之后,将子目录全部放入 **/resources/static/assets/** 目录即可
{.is-info}
| 资源名称 | 说明 |
| --- | --- |
| [assets1.0.zip](/assets静态资源包/assets1.0.zip) | 默认资源包 |
# 启动类
**XXX**Application.java,*XXX* 根据实际情况变化
```java
package com.cn.xxx;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
// Spring 自动扫包根路径,可以配置多个,但第一个必须存在
@SpringBootApplication(scanBasePackages = {"ink.wgink", "com.cn", "com1.cn"})
// dao 自动扫描根路径,可以配置多个,但第一个必须存在
@MapperScan(basePackages = {"ink.wgink.**.dao", "com.cn.**.dao", "com1.cn.**.dao"})
public class XXXApplication {
public static void main(String[] args) {
SpringApplication.run(XXXApplication.class, args);
}
}
```