springboot标准controller写法 springboot的controller层_controller层


1.搭建项目环境-省略

创建表


CREATE


修改POM文件,添加相关依赖


springboot标准controller写法 springboot的controller层_spring_02



2 配置数据源 ---最终优化后的版本(尾部为优化推演过程)

2.1添加Druid数据源依赖


springboot标准controller写法 springboot的controller层_spring_03


在application.properties中添加数据库连接信息


springboot标准controller写法 springboot的controller层_spring_04


创建配置类,在启动时加载配置信息和数据源


springboot标准controller写法 springboot的controller层_数据源_05



2 通过SpringBoot配置文件配置数据源

在Spring Boot1.x 版本中的spring-boot-starter-jdbc 启动器中默认使用的是

org apache.tomcat.jdbc pool.DataSource作为数据源

♥在Spring Boot2.x 版本中的spring-boot-starter-jdbc 启动器中默认使用的是

com.zaxxer hikariDataSource作为数据源(效率高)

2.1使用Spring Boot默认的HikariDataSource数据源


springboot标准controller写法 springboot的controller层_spring_06


2.2使用第三方的Druid数据源


springboot标准controller写法 springboot的controller层_配置信息_07



开始CRUD的使用前,说下一个异常


springboot标准controller写法 springboot的controller层_配置信息_08


在页面加载的时候会加载spring的图标,因为我们配置了页面跳转的controller,查找图片就跑到templates文件夹去找,导致异常

spring2.1.6前 在application.properties文件夹中添加如下配置


springboot标准controller写法 springboot的controller层_数据源_09


spring2.1.6 后

在页面添加如下标签解决


<


CRUD操作见下方链接

Balmy:[SpringBoot2.X] 22- 整合持久层技术 -JDBC -CRUDzhuanlan.zhihu.com

springboot标准controller写法 springboot的controller层_druiddatasource配置_10



推演版本 ---配置数据源 ---不推荐 这里是演示创建和优化过程(方便理解)

2.1添加Druid数据源依赖


springboot标准controller写法 springboot的controller层_spring_03


2.2创建Properties文件


springboot标准controller写法 springboot的controller层_druiddatasource配置_12


2.3创建配置类

2.31通过自定义配置文件方式配置数据源信息

2.3.2通过@PropertySource注解读取配置文件

----@propertySource 就是为了获取properties中的配置信息

因为我们现在用的是druid连接池,应该在启动的时候就要创建这个对象


springboot标准controller写法 springboot的controller层_数据源_13


通过IDEA特性就可以看到配置生效了,如果没有生效就是灰色的


springboot标准controller写法 springboot的controller层_controller层_14


配置数据源优化 一

通过@ConfigurationProperties注解读取配置信息

@ConfigurationProperties

是springboot的注解只能用于读取springboot的配置文件,不能读取其他的配置文件

____________________________________________________________________________________________

在上面的步骤中我们配置了一个针对jdbc去配置数据源的配置类,通过这样的代码获取到了数据源所以来的配置信息,但从设计角度而言不是很好,

因为如果其他类要用的话,还需要重新写,

为了充分的复用,就要改进这里,所以就用到了@ConfigurationProperties


springboot标准controller写法 springboot的controller层_配置信息_15


创建配置信息实体类

@ConfigurationProperties会自动在application.properties文件中读取以jdbc开头的配置文件,以set方法的方式注入信息


springboot标准controller写法 springboot的controller层_spring_16


同时jdbc后面的名字不能乱取,必须和配置信息实体类保持一致


springboot标准controller写法 springboot的controller层_controller层_17


springboot标准controller写法 springboot的controller层_配置信息_18


在application.properties中添加配置信息


springboot标准controller写法 springboot的controller层_druiddatasource配置_19


修改配置类

使用@EnableConfigurationProperties()

@EnableConfigurationProperties() 注解

在这个注解中,需要一个class的值,可以用其指定配置类是哪个作为配置

然后使用@Autowired 注入对象

用过对象打点属性读取application.properties中的配置


springboot标准controller写法 springboot的controller层_druiddatasource配置_20


补充知识点,可以用构造方法来注入值----不推荐


springboot标准controller写法 springboot的controller层_controller层_21


配置数据源优化二-终章优化

@ConfigurationProperties 注解的优雅使用方式

@ConfigurationProperties 不仅可以加到类上还可以加在获取数据源的方法上

1.这一步可以删除上面创建的配置信息实体类

2.这个注解就会把从配置文件中解析出来的内容,通过调用


DruidDataSource


创建的druidDataSource 对象set方法,将值直接注入进去,不需要在手动配置


springboot标准controller写法 springboot的controller层_配置信息_22