controller层_[SpringBoot2.X] 22- 整合持久层技术 -JDBC -配置

06b1d78ff1db555d11b3c7863db7eb78.gif

1.搭建项目环境-省略

创建表

CREATE 

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

312085da0fc1b0681db640b234842d1f.png

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

2.1添加Druid数据源依赖

1c98ca827de6e7def1ee0f7271d51cff.png

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

80682c24211f75abc305beda5569e9d6.png

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

2a3175459a62f8e68fb29f536539bd7d.png

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数据源

fa2caa3c67094c001a029c4a8e779248.png

2.2使用第三方的Druid数据源

68b7fb9f0dfeecca94a86afba1ca2c3d.png

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

d74ef5fd2f7670384ea2ecfef9302a9c.png

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

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

c883524c6a62ea0655b13e29395372a4.png

spring2.1.6 后

在页面添加如下标签解决

<

CRUD操作见下方链接

Balmy:[SpringBoot2.X] 22- 整合持久层技术 -JDBC -CRUD​zhuanlan.zhihu.com
bc36da1113bbe248e94e343a5ba79cb8.png

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

2.1添加Druid数据源依赖

1c98ca827de6e7def1ee0f7271d51cff.png

2.2创建Properties文件

0133b8d9ba44c00d515c4729e5e5f1ea.png

2.3创建配置类

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

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

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

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

ffde8a1b30b8bf948475487fdb92706e.png

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

027e19177dbdce78f6e6fccb7e4c34ad.png

配置数据源优化 一

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

@ConfigurationProperties

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

____________________________________________________________________________________________

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

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

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

0df053e1dde0b1ad7dcb5fd6af5247b1.png

创建配置信息实体类

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

1c361830c4a4330b9a48bc303fa1314d.png

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

2f30dbaab1e1fdd5a66caa85f5cb70b0.png

1257264e3f2f0714628f0116a48b859b.png

在application.properties中添加配置信息

2cb540bfa0fea57a3fb2e095c2d04c69.png

修改配置类

使用@EnableConfigurationProperties()

@EnableConfigurationProperties() 注解

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

然后使用@Autowired 注入对象

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

72d71583808c0d6ed0f640c5dcc0535a.png

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

47239d3bef937fe6126872e962e55e34.png

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

@ConfigurationProperties 注解的优雅使用方式

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

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

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

DruidDataSource 

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

60bf871162c644a7b7620f438bd9e78c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值