Spring配置数据源的三种方式(小结)
目录
- 一、前言
- 三、开发数据源的方式
- 方式1:手动输入
- 方式2:Properties配置文件
- 方式3:Spring配置数据源
- 四、总结
一、前言 今天学习了用spring配置Druid数据源的三种方式,整理了学习笔记,希望大家喜欢!
二、数据源的作用
- 数据源(连接池)是提高程序性能如出现的
- 事先实例化数据源,初始化部分连接资源
- 使用连接资源时从数据源中获取
- 使用完毕后将连接资源归还给数据源
DBCP
、C3P0
、BoneCP
、Druid
等等,本文主要以Druid数据源为案例实现Spring对数据源的开发应用三、开发数据源的方式
方式1:手动输入
先创建一个maven工程,引入依赖,为了方便起见,我还导入了Junit的依赖,此外,还有mysql的驱动依赖、Druid数据源的依赖和spring依赖
junit junit4.12 mysql mysql-connector-java8.0.27 com.alibaba druid1.1.22 org.springframework spring-context5.3.14
直接编写一个测试类,开始测试
@Testpublic void test1() throws SQLException {//创建数据源对象DruidDataSource dataSource = new DruidDataSource(); //设置数据源的基本连接数据dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost:3306/test"); dataSource.setUsername("root"); dataSource.setPassword("0315"); //使用数据源获取连接资源Connection connection = dataSource.getConnection(); //打印连接资源的信息System.out.println(connection); //关闭连接资源connection.close(); }
分析:
setDriverClassName()
填入的是连接驱动类Driver的包路径、setUrl()
设置要连接的数据库的地址、setUsername()
自己的数据库用户名、setPassword()
数据库密码运行结果:
文章图片
方式2:Properties配置文件
在
resources
下建一个名为jdbc.properties
的文件,填入数据源的基本连接数据jdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/testjdbc.username=rootjdbc.password=0315
编写一个测试类,开始测试
@Testpublic void test2() throws SQLException {//ResourceBundle这个类专门用来读取properties类型的文件ResourceBundle bundle = ResourceBundle.getBundle("jdbc"); //设置数据源的基本连接数据String driver = bundle.getString("jdbc.driver"); String url = bundle.getString("jdbc.url"); String username = bundle.getString("jdbc.username"); String password = bundle.getString("jdbc.password"); DruidDataSource dataSource = new DruidDataSource(); dataSource.setDriverClassName(driver); dataSource.setUrl(url); dataSource.setUsername(username); dataSource.setPassword(password); DruidPooledConnection connection = dataSource.getConnection(); System.out.println(connection); connection.close(); }
这种方式就比方式一好很多了,如果我们使用的数据库发生了改变,就只需要在Properties文件中进行修改,从而不需要从代码中修改,提高了开发的效率
方式3:Spring配置数据源
继续使用前面的
jdbc.properties
文件,我们可以将数据源的创建权交由Spring容器去完成,编写一个名为applicationContext.xml
的spring配置文件,把数据源放入spring容器中通过这种spring配置文件的方式,我们就可以获取了数据源,接下来写一个代码用来测试
@Testpublic void test3() throws SQLException {ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); DruidDataSource dataSource = applicationContext.getBean(DruidDataSource.class); DruidPooledConnection connection = dataSource.getConnection(); //打印连接信息System.out.println(connection); connection.close(); }
运行结果:
文章图片
不知道小伙伴们看到value的属性值那么长,有没有感觉到一丝丝的不舒服,反正我是有。那么有没有一种方法能够将配置更加的清晰明了呢?答案是:有!那么该如何做呢?
首先要做的是,把
jdbc.properties
配置文件的对象放进spring容器中,这样就方便了以后的调用,具体代码:分析: 首先要在头文件中引入下图所示的名称空间,最后value的属性值用
${key}
的方式获取到jdbc.properties
的value值,这样的运行结果也是跟上面一样文章图片
四、总结 我们最需要掌握的就是最后一种方法,一定要学会这种配置方式!
文章图片
【Spring配置数据源的三种方式(小结)】 到此这篇关于Spring配置数据源的三种方式(小结)的文章就介绍到这了,更多相关Spring配置数据源内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Android中通过数组资源文件xml与适配器两种方式给ListView列表视图设置数据源
- 解决 mybatis mapper配置文件与接口名称必须一致问题
- Spring源码学习AbstractApplicationContext.refresh()
- springmvc之RequestMapping注解既可以修饰类也可以修饰方法
- 【Java面试】Spring中有哪些方式可以把Bean注入到IOC容器()
- Idea搭建SpringBoot时,SpringApplication.run报错
- SpringBoot——@SpringBootApplication注解分析
- uni-app 顶部配置搜索框和左右图标
- Springboot 2.X的RequestMapping 的映射路径怎么看不到了()
- SpringMVC框架-使用注解编写的处理请求和映射-@Controller@RequestMapping