本文将记录开发一个前后端分离的网站过程。本项目所将主要用到技术点:
前端:Vue2、ElementUI。
后端:Spring Boot3、Spring Security6、MySQL、MyBatis-Plus、Docker
下面正题开始:
目录
一、创建项目
1、Language选择Java、Type选择Maven、JDK选择17
2、不用勾选直接Create,后续手动补充依赖
3、配置maven路径
4、手动引入基础依赖
<dependencies>
<!-- 构建Web应用所需的所有依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.1</version>
</dependency>
<!-- spring boot测试依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<version>3.3.1</version>
</dependency>
<!-- Spring Security6依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>3.3.1</version>
</dependency>
<!-- Spring Security6测试依赖 -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<version>6.2.0</version>
</dependency>
<!-- mysql连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
<scope>runtime</scope>
</dependency>
<!-- JDBC访问数据库依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
<version>3.3.1</version>
</dependency>
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.3</version>
</dependency>
<!-- log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- swagger测试-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.37</version>
</dependency>
<!-- 字符串工具类 -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.10</version>
</dependency>
</dependencies>
5、多环境配置文件动态配置
为了后续项目发布到服务器,这里我们加入以下配置。dev用于开发环境、prod用于线上环境:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!-- 排除所有配置文件(为了确保这些文件不会被默认的资源处理机制包括在内,防止它们被多次处理) -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>application*.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- 为了灵活使用不同环境配置文件,启用资源过滤 -->
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${profileActive}.yml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- 灵活使用不同环境配置文件,定义profiles和对应的属性 -->
<profiles>
<profile>
<id>dev</id>
<properties>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
6、新建yml配置文件
新建通用配置文件application.yml(dev、prod环境共用),目前只写基本的“动态选择配置文件”配置和mybatis-plus配置:
#动态选择配置文件启动
spring:
profiles:
active: @profileActive@
#mybatis-plus配置
mybatis-plus:
#XML映射文件位置
mapper-locations: classpath:mapper/*.xml
#实体类包路径
type-aliases-package: com.huiyi.huiyiproject.entity
global-config:
db-config:
#数据库大写下划线转换
capital-mode: true
#逻辑删除配置
logic-delete-value: 1
logic-not-delete-value: 0
configuration:
#数据库字段映射为驼峰命名
map-underscore-to-camel-case: true
#默认枚举类型处理器
default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
新建文件application-dev.yml,写dev开发环境的配置文件,目前只写启动端口和mysql连接配置:
#启动端口
server:
port: 8180
#mysql连接配置
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/tzn?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&tinyInt1isBit=false
username: 【你的数据库用户名】
password: 【你的数据库密码】
7、项目启动!
做好以上工作后,点击IDEA右侧的“dev”选项,然后启动,至此,项目成功启动。一阶段完成!启动效果如下: