1. 新建项目
1.1 新建Maven项目
1.2 将maven的settings和repsitory设置为自己的本地文件
1.3 settiings.xml配置文件如下,此处用阿里云镜像地址
<localRepository>D:\Java\apache-maven-3.9.1\conf\repository</localRepository>
<mirror>
<id>alimaven</id>
<name>alivun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
1.4 从SpringBoot官网选择合适的版本(Spring Boot )
注意商业支持结束的日期,选择该日期前的,最好不用最新版本,不然引入依赖容易出问题
1.5 引入pom依赖(https://mvnrepository.com/)
1.5.1 搜索依赖
1.5.2 选择usages较多的版本
1.5.3 在pom.xml(Project Object Model,项目对象模型)中引入相关依赖
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxxx</groupId>
<artifactId>project0605</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.druid.version>1.2.16</project.druid.version>
<project.mybatis.version>2.2.2</project.mybatis.version>
</properties>
<!--起步依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.14</version>
</parent>
<dependencies>
<!--web项目依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--druid数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<!--版本号放在properties-project.druid.version中,易于替换,然后此处用${}的形式引用即可-->
<version>${project.druid.version}</version>
</dependency>
<!--mybatis,版本号引用方式跟druid同-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${project.mybatis.version}</version>
</dependency>
<!--junit单元测试,注意同步引入spring-boot-starter-test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!--maven插件,提供打包成jar包等功能-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
1.6 配置application.yml文件来控制选择具体环境配置文件
application.yml文件配置(总控,通过active来具体选择配置文件)
spring:
profiles:
active: dev
可供选择的其余yml文件分别有:
dev开发环境port:9090,prod运行环境prot:9092,test测试环境port:9091
其中application-dev.yml文件的配置
server:
port: 9090
# servlet:
# context-path: /xxx
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3307/emp_db
username: root
password: ******
mybatis:
type-aliases-package: com.xxxx.entity #使用别名
mapper-locations: classpath:mappers/*.mapper.xml #mapper.xml文件的位置
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #配置日志
2. 项目搭建
2.1 项目结构
2.2 配置文件
2.2.1 PetMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxxx.mapper.PetMapper">
<select id="selectAllPets" resultType="pet">
select *
from pet_db
</select>
</mapper>
2.2.2 PetController
@RestController
@RequestMapping("/api")
public class PetController {
@Autowired
private PetServiceImpl petService;
@GetMapping("/pet/findAll")
@ResponseBody
public List<Pet> selectAllPets(){
return petService.selectAllPets();
}
}
2.2.3 XxxxApplication
@SpringBootApplication
@MapperScan(basePackages = "com.xxxx.mapper")
public class XxxxApplication {
public static void main(String[] args) {
SpringApplication.run(XxxxApplication.class);
}
}
2.2.4 PetServiceImplTest(junit单元测试,用于测试ServiceImpl)
注意此处@Test 引入的包是org.junit.Test
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class PetServiceImplTest {
@Autowired
private PetServiceImpl petService;
@Test
public void selectAllPets() {
System.out.println(petService.selectAllPets());
}
}
2.2.5 tips:
banner.txt中可以贴入“ascii艺术字”内容用以修改SpringBoot启动图像