有的小伙伴虽然开发很多年,但是有很多连自己都没有动手去创建一个SpringBoot。原因各不相同,有的是开发项目比较忙,没有时间,刚去公司的时候项目的框架就是现成的,就一直用。还有就是自己没有闲下学习的习惯。我其实就是,最起码工作1-2的时候还没有自己创建过,当时自我学习的时间不算少,但是动手能力不算强。
本篇主要介绍下,基于maven项目如何创建SpringBoot项目。有的人说直接创建SpringBoot不行吗,当然也是可以的。这里有两点原因,第一我不太喜欢直接用IDEA去创建SpringBoot,创建出来的东西,有一部分不需要的,我本人喜欢用什么就引用什么,不喜欢一些本身用不到的东西,第二SpringBoot也是基于Maven的,这样更能清楚SpringBoot是怎么来的。
新建Maven项目
我使用的是2023年IDEA,和其他版本流程基本一致。
1、新建project
2、POM.XML文件修改
刚初始化的POM.XML如下
<?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>org.mkj.student</groupId>
<artifactId>studentdemo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
添加SpringBoot配置,添加为web项目,添加mysql依赖。修改如下。
我使用的是SpringBoot版本 2.7.18,此版本要求JDK最低1.8。
Spring Boot 3以上版本至少得依赖JDK17版本
<?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>org.mkj.student</groupId>
<artifactId>studentdemo</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.18</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
3、创建application.yml
application.yml
server:
port: 8080
spring:
profiles:
active: dev
application-dev.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mytest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&AllowPublicKeyRetrieval=True
username: root
password: 123456
4、创建启动类
一般都在包的最外层,因为启动类扫描比其层级低的包。
StudentApplication
package org.mkj.student;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class StudentApplication {
public static void main(String[] args) {
SpringApplication.run(StudentApplication.class, args);
}
}
5、Controller
package org.mkj.student.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value="/test")
public class TestController {
@RequestMapping(value="/test001")
public void test001(){
System.out.println("hello test001");
}
}
6、启动项目
浏览器输入:http://localhost:8080/test/test001
本文只是注重讲解如果基于maven创建SpringBoot项目。所以只注重流程。其中过滤器、拦截器、安全配置等都没做。如有需要再详细讲解。
7、如果是直接创建SpringBoot项目请注意先看一个错误
此为JDK版本不对应的一个错误。此时会发现创建时并没有发现有选择JDK8的地方。
需要改一个地方,如下:
将https://start.spring.io/改为 或者 http://start.springboot.io/ 替换为 https://start.aliyun.com/ 即可
8、mysql-connector-j 和 mysql-connector-java 区别
网上说的:Spring Boot 2.7.8 之后 mysql-connector-java 不再由依赖管理来管理。而是换成了mysql-connector-j。
总之如果引入mysql-connector-java 报错,一般是SpringBoot版本不对应了,此时换成mysql-connector-j即可。
依赖MySQL Connector/J 8.0.31及以上版本的项目必须将其POM依赖设置更新为:
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
标签:SpringBoot,boot,springframework,connector,从零开始,构建,mysql,org
From: https://blog.csdn.net/weixin_53391173/article/details/139422785