SpringBoot 是 Java 社区最有影响力之一的开源的Spring后端开发框架,也是企业级应用开发的首选技术,Spring Boot 拥有良好的技术基因,它是伴随着Spring 4 而产生的技术框架,在继承了 Spirng 框架所有优点的同时也为开发者带来了巨大的便利,与普通的 Spring 项目相比,SpringBoot 可以让项目的配置更简化、编码更简化、部署更方便,为开发者提供了开箱即用的良好体验,进一步提升了开发者的开发效率。
jdk 1.8.0_201(及以上版本)
https://www.oracle.com/java/technologies/downhttps://www.oracle.com/java/technologies/down
环境变量配置
6.将刚才新建的JAVA_HOME变量加入其中
安装完成后,验证JDK是否成功安装。在命令行中输入以下命令:
java -version
如果能够看到类似以下版本信息,说明JDK已经正确安装:
java version "11.0.11" 2021-04-20 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode)
安装完JDK后,您就可以继续配置Java环境变量和安装IDE了。
配置环境变量是为了让操作系统能够找到并执行特定的命令和程序。
在Java开发中,配置Java环境变量是为了使命令行窗口能够识别和执行Java的命令和程序。通过配置环境变量,我们可以在任何位置使用命令行窗口执行Java命令,而不需要指定Java的安装路径。这样可以方便地进行Java开发和调试工作。
另外,一些集成开发环境(IDE)也需要配置Java环境变量,以便能够正常编译和运行Java项目。所以,配置环境变量是为了方便我们进行Java开发和运行项目。
为什么需要新建JAVA_HOME变量?
新建JAVA_HOME变量是为了设置Java的安装路径。
JAVA_HOME变量告诉操作系统Java的安装位置,使系统能够正确识别和执行Java的命令和程序。在配置Java环境变量时,我们需要设置JAVA_HOME变量并将其指向Java的安装路径。这样,当我们在命令行窗口中执行Java命令时,系统就能够根据JAVA_HOME变量找到Java的安装位置,从而正确执行相关的命令和程序。
同时,一些开发工具和集成开发环境(IDE)也需要JAVA_HOME变量来定位Java的安装路径,以便能够编译和运行Java项目。因此,新建JAVA_HOME变量是为了确保系统能够正确识别和执行Java的命令和程序,并且为开发工具提供正确的Java安装路径。
2.Maven的安装
Spring boot环境配置完成!
然后就会生成一个项目,如图所示
进入选择依赖库界面,在这里大家就可以选择我们开发当中要使用到的例如数据库驱动,技术,框架等等。
SpringBoot项目需要提供一个接口去拿到数据所有在这里我们需要能连接数据库的配置
新建一个application.yml文件
配置项目需要修改的端口号、datasource、mybatis。
server:
#设置端口号
port: 8081 #默认端口是8080
spring:
datasource:
#数据库用户名
username: root
#数据库用户密码
password: 123456
#serverTimezone=UTC 解决市区的报错 一般mysql是8.0以上的是必须配置这个
#userUnicode=true&characterEncoding=utf-8 指定字符编码、解码格式
url: jdbc:mysql://localhost:3306/metest?serverTimezone=UTC&userUnicode=true&characterEncoding=utf-8
#设置驱动类
driver-class-name: com.mysql.cj.jdbc.Driver
#设置数据源
type: com.alibaba.druid.pool.DruidDataSource
#Spring Boot 默认是不注入这些属性值的,需要自己绑定
#druid 数据源专有配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
#配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
#如果允许时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority
#则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
# 配置mybatis
mybatis:
#指定pojo扫描包位置让mybatis自动扫描到指定义的pojo包下
type-aliases-package: com.me.test.pojo
#指定位置扫描Mapper接口对应的XML文件 classpath:xml文件位置
mapper-locations: classpath:mapper/*.xml
spl语句代码
CREATE DATABASE /*!32312 IF NOT EXISTS*/`metest` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `metest`;
/*Table structure for table `userinfo` */
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`username` varchar(30) NOT NULL,
`password` varchar(30) NOT NULL,
`authority` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
/*Data for the table `userinfo` */
insert into `userinfo`(`id`,`username`,`password`,`authority`) values (1,'root','123456','admin'),(2,'me','123456','admin');
v
一般pojo类、mapper接口、service接口名字都是按照数据库中表的名字来创建的
//使用@Data自动生成需要的get、set
@Data
//使用@AllArgsConstructor自动生成有参构造
@AllArgsConstructor
//使用@NoArgsConstructor自动生成无参构造
@NoArgsConstructor
public class userInfo {
private Integer id;
private String username;
private String password;
private String authority;
}
@Repository
@Mapper
public interface UserInfoMapper {
/**
* 增加一条数据
* @param userInfo 数据
*/
void add(UserInfo userInfo);
/**
* 删除一条数据
* @param id 被删除数据的id
*/
void delete(Integer id);
/**
* 修改一条数据
* @param userInfo 修改的数据
*/
void update(UserInfo userInfo);
/**
* 根据id去查询一条数据
* @param id 查询的id
*/
UserInfo queryById(Integer id);
/**
* 查询全部数据
* @return
*/
List
}
需要的mapper基本配置
对于接口中的方法在添加需要的增删改查功能
图中爆红不用管这个是因为我配置了一个插件的原因,实际在运行时不影响效果!
创建service层
UserInfoService代码
public interface UserInfoService {
/**
* 增加一条数据
* @param userInfo 数据
*/
void add(UserInfo userInfo);
/**
* 删除一条数据
* @param id 被删除数据的id
*/
void delete(Integer id);
/**
* 修改一条数据
* @param userInfo 修改的数据
*/
void update(UserInfo userInfo);
/**
* 根据id去查询一条数据
* @param id 查询的id
*/
UserInfo queryById(Integer id);
/**
* 查询全部数据
* @return
*/
List
}
这里我先去pom中配置一个fastjson依赖这是阿里巴巴开源的,用来转换成JSON和类的格式的。
\\
//@Controller 控制层需要的注解
//@RestController 使用这个也是可以的,但是使用后他里面所有请求返回的都是字符串!
//一般只需要作为接口放回JSON格式数据的话推荐使用@RestController
//@Controller这个是可以与Thymeleaf模板引擎使用时可以返回一个页面的
@Controller
//@RequestMapping指定路径名
//@RequestMapping("/test")用这个来指定路径也是可以的
@RequestMapping(value = "/test")
public class UserInfoController {
//获取到UserInfoService
@Autowired
private UserInfoService userInfoService;
//Get请求
@GetMapping
//@ResponseBody 注释后表示放回的是字符串
@ResponseBody
public String queryAll(){
List
return JSON.toJSONString(userInfoList);
}
//使用了RestFull风格
@GetMapping("/{id}")
@ResponseBody
public String query(@PathVariable(value = "id")Integer id){
UserInfo userInfo = userInfoService.queryById(id);
List
userInfoList.add(userInfo);
return JSON.toJSONString(userInfoList);
}
//post请求
//@RequestBody 表示接收请求是JSON格式的数据
@PostMapping
@ResponseBody
public String add(@RequestBody UserInfo userInfo){
userInfoService.add(userInfo);
return "添加OK";
}
//Delete请求
@DeleteMapping(value = "/{id}")
@ResponseBody
public String delete(@PathVariable("id")Integer id){
userInfoService.delete(id);
return "删除成功";
}
//Put请求
@PutMapping("/{id}")
@ResponseBody
public String update(@PathVariable("id")Integer id,
@RequestBody UserInfo userInfo){
userInfo.setId(id);
userInfoService.update(userInfo);
return "修改成功";
}
}
本人测试使用的工具是Postman
Postman下载路径:Download Postman
查询测试
查询没问题
增加数据测试
修改测试
此时数据库的数据也发生了改变
删除测试
此时数据就被删除了
总的来说,搭建Spring Boot项目的开发环境需要安装JDK、配置Java环境变量、安装IDE、创建项目、配置依赖以及开发和运行项目。这些步骤都需要仔细操作,但一旦搭建完成,你就可以开始开发高效、稳定的Spring Boot应用了。