Spring Boot 横扫 Java 程序员在使用 Spring 研发路上的诸多障碍,让研发人员更加专注于业务逻辑的开发,使得企业级项目开发更加快速和高效。
为什么这么说呢?
这要归功于 Spring Boot 提供了满足研发场景的各种 starter,所谓 starter 就是把项目研发中所需的组件或服务进行封装成包,开箱即用,屏蔽了繁琐的配置,使得依赖的组件或服务变的可插拔。
starter 主要分为两种:一种是官方的,一种是三方的。官方与三方的命名方式上不太一样,官方的命名以 spring-boot 开头,而三方的命名以自定义的 xxx 名称开头。
例如,官方的命名:spring-boot-xxx-xxx.jar,而三方的命名:xxx-spring-boot-starter.jar。
本文主要讲解 Spring Boot 与常见开发组件进行整合,感受一下 starter 开箱即用的魔力,深入体验 Spring Boot 的大道至简。
1. Spring Boot 集成 MySQL
借助 Spring Boot 框架,可以不用编写原始的访问数据库的代码,也不用调用 JDBC 或者连接池等诸如此类的被称为底层的代码,就可以在更高级的层次上访问数据库。
Spring Boot 集成 MySQL 非常之简单,只需如下简单的几步。
1.1. 引入依赖
在 pom.xml 中引入访问 MySQL 所需的依赖。
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 通过 JDBC 连接数据库依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
1.2. 添加数据库配置
在 application.properties 文件中,添加 MySQL 数据库的连接信息:
# MySQL 链接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
1.3.创建表、插入数据
-- ----------------------------
-- Table structure for sc_product
-- 商品表
-- ----------------------------
DROP TABLE IF EXISTS `sc_product`;
CREATE TABLE `sc_product` (
`id` bigint(20) NOT NULL COMMENT '商品id',
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '商品名称',
`number` int(11) NOT NULL DEFAULT '0' COMMENT '商品数量',
`start_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '秒杀开始时间',
`end_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '秒杀结束时间',
`create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TI