1.Pom文件依赖
打开mvnrepository仓库:https://mvnrepository.com/,输入spring-boot-starter-web
1.1 springboot 进行统一的版本管理
通过标签<parent>:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> </parent>
在后面在进行引入依赖的时候,就写作为如下方式:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--<version>2.1.6.RELEASE 已经统一指定</version>--> </dependency>
以上的这种统一版本的管理是spring boot默认的方式。
1.2 构建web项目模块
核心作用:快速web应用开发
为了帮我们简化快速搭建并开发一个Web项目,Spring boot为我们提供了spring-boot-starter-web自动配置模块。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.6.RELEASE</version> </dependency>
spring-boot-starter-web默认为我们提供一些SpringMVC必要的组件。
spring-boot-starter-web默认使用嵌入式的tomcat作为web容器对外提供HTTP服务。
1.3. Nacos实现服务注册和发现
注意:实际使用时,需要启动本地单机版nacos,具体见 https://www.cnblogs.com/luckyplj/p/15175191.html
<!--nacos--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.1.0.RELEASE</version> </dependency>
1.4.JDBC驱动包
mysql-connector-java 是MySQL的JDBC驱动包,用JDBC连接MySQL数据库时必须使用该jar包。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency>
1.5.数据库连接配置
如果我们的工程只依赖一个数据库,那么,使用DataSource自动配置模块提供的参数是最方便的:
spring.datasource.url=jdbc:mysql://{datasource host}:3306/{databaseName}
spring.datasource.username={database username}
spring.datasource.passwd={database passwd}
对应的maven 依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
1.6.mybatisPlus
Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入Mybatis-Plus不会对现有的Mybatis构架产生任何影。Mybatis-Plus又简称(MP)是为简化开发,提高开发效率而生.
<!-- mybatisPlus 核心库 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <!-- 添加 代码生成器 依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> </dependency> <!--模板引擎(mybatis-plus自动生成代码需要模板)--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
Mybatis-plus代码生成器具体使用参考:https://www.cnblogs.com/luckyplj/p/15166224.html
Mybatis-plus操作数据库进行增删改查具体参考:https://www.cnblogs.com/luckyplj/p/15421975.html
1.7.数据库连接池
Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。
阿里 Druid为SpringBoot 提供专门的start依赖,Mybatis 使用 Druid 相对比较简单,我们只需要引入 Druid 的starter 依赖并添加相关的一些配置即可。
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.24</version> </dependency> <!--druid-spring-boot-starter只是在druid基础上进行了一次封装,专门用来整合spring-boot项目--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.24</version> </dependency>
1.8.lombok
lombok既是一个IDE插件,也是一个项目要依赖的jar包.
<!--Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency>
1.9 commons-io
Apache Commons IO是由Apache Foundation创建和维护的Java库。 它提供了许多类,使开发人员可以轻松地完成常见任务,并且减少样板代码。
commons-io是一款处理io流的工具库,封装了很多处理io流和文件的方法,可以大大简化我们处理io流和操作文件的代码.
API链接:http://commons.apache.org/proper/commons-io/apidocs/index.html
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency>
1.10 commons-lang3
Apache Commons Lang是Apache最著名的JAVA库 (GitHub上的代码库),它是对java.lang的很好扩展,包含了大量非常实用的工具类,其中用的最多的有StringUtils,DateUtils,NumberUtils等。
(1)commons-lang3和commons-lang的区别
lang3是Apache Commons 团队发布的工具包,要求jdk版本在1.5以上,相对于lang来说完全支持java5的特性,废除了一些旧的API。该版本无法兼容旧有版本,于是为了避免冲突改名为lang3。lang包可以说是废弃了,以后请不要使用。采用lang3直接代替即可。
其中用的最多的有StringUtils,DateUtils,NumberUtils、ArrayUtils等。
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
2. application.yml文件常用配置
#application.yml为基本配置文件 server: port: 7010 mybatis-plus: # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置) mapper-locations: classpath*:mapper/**/*Mapper.xml # 以下配置均有默认值,可以不设置 global-config: db-config: logic-not-delete-value: 1 logic-delete-value: 0 configuration: # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 map-underscore-to-camel-case: true # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl auto-mapping-behavior: full spring: datasource: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/day1?serverTimezone=Asia/Shanghai&useSSL=false username: root password: plj824 driver-class-name: com.mysql.cj.jdbc.Driver #druid连接池配置 druid: #初始化连接大小 initial-size: 5 #最大连接池数量 max-active: 20 #最小连接池数量 min-idle: 3 #配置获取连接等待超时时间,单位毫秒 max-wait: 60000 #配置间隔多久才进行一次检查看,检查需要关闭的空闲连接,单位毫秒 time-between-eviction-runs-millis: 60000 #配置一个连接在池中最小的生存时间,单位毫秒 min-evictable-idle-time-millis: 300000 validation-query: select 'x' #建议配置为true,不影响性能,并且保证安全性,申请连接的时候检测 test-while-idle: true #获取连接时执行检测,建议关闭,影响性能 test-on-borrow: false #归还连接时执行检测,建议关闭,影响性能 test-on-return: false #检测连接是否有效的超时时间 validation-query-timeout: 10
参考文献: