iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring配置数据源的三种方式(小结)
  • 884
分享到

Spring配置数据源的三种方式(小结)

2024-04-02 19:04:59 884人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、前言三、开发数据源的方式方式1:手动输入方式2:Properties配置文件方式3:spring配置数据源四、总结一、前言 今天学习了用spring配置Druid数据源的三种

一、前言

今天学习了用spring配置Druid数据源的三种方式,整理了学习笔记,希望大家喜欢!

二、数据源的作用

  • 数据源(连接池)是提高程序性能如出现的
  • 事先实例化数据源,初始化部分连接资源
  • 使用连接资源时从数据源中获取
  • 使用完毕后将连接资源归还给数据源

常见的数据源:DBCPC3P0BoneCPDruid等等,本文主要以Druid数据源为案例实现Spring对数据源的开发应用

三、开发数据源的方式

方式1:手动输入

先创建一个Maven工程,引入依赖,为了方便起见,我还导入了Junit的依赖,此外,还有Mysql的驱动依赖、Druid数据源的依赖和spring依赖

 <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.22</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.14</version>
        </dependency>
    </dependencies>

直接编写一个测试类,开始测试

    @Test
    public 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.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.passWord=0315

编写一个测试类,开始测试

	@Test
    public 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容器中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="Http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/test"></property>
        <property name="username" value="root"></property>
        <property name="password" value="0315"></property>
    </bean>
</beans>

通过这种spring配置文件的方式,我们就可以获取了数据源,接下来写一个代码用来测试

  @Test
    public 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容器中,这样就方便了以后的调用,具体代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

    <context:property-placeholder location="classpath:jdbc.properties"/>

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${jdbc.driver}"></property>
    <property name="url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
    </bean>
</beans>

分析: 首先要在头文件中引入下图所示的名称空间,最后value的属性值用${key}的方式获取到jdbc.properties的value值,这样的运行结果也是跟上面一样

四、总结

我们最需要掌握的就是最后一种方法,一定要学会这种配置方式!

 到此这篇关于Spring配置数据源的三种方式(小结)的文章就介绍到这了,更多相关Spring配置数据源内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring配置数据源的三种方式(小结)

本文链接: https://www.lsjlt.com/news/163015.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring配置数据源的三种方式(小结)
    目录一、前言三、开发数据源的方式方式1:手动输入方式2:Properties配置文件方式3:Spring配置数据源四、总结一、前言 今天学习了用spring配置Druid数据源的三种...
    99+
    2024-04-02
  • Spring配置数据源的三种方式是什么
    这篇文章主要介绍“Spring配置数据源的三种方式是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring配置数据源的三种方式是什么”文章能帮助大家解决问题。一、数据源的作用数据源(连接池)...
    99+
    2023-06-26
  • Tomcat配置JNDI数据源的三种方式
    在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改...
    99+
    2024-04-02
  • Spring Boot配置多数据源的四种方式
    1、导读 在日常开发中我们都是以单个数据库进行开发,在小型项目中是完全能够满足需求的。 但是,当我们牵扯到像淘宝、京东这样的大型项目的时候,单个数据库就难以承受用户的CRUD操作。 那么此时,我们就需要使用多个数据源进行读写分离的操作,这种...
    99+
    2023-08-20
    spring boot java 数据库 mybatis 后端
  • spring控制事务的三种方式小结
    目录方式一:编码方式(需要修改源代码,基本不会用)方式二:xml配置(不需要改动代码,直接配置xml)方式三:注解spring是如何控制事务的?首先准备环境,目录结构如下 数据库准...
    99+
    2024-04-02
  • Mybatis-plus多数据源配置的两种方式总结
    目录1.多数据源配置类1).pom.xml 项目依赖2)多数据源配置类3) 多Mapper4) application.properties 配置文件5) 测试类2.@DS 注解 切...
    99+
    2022-11-13
    Mybatis plus多数据源配置方式 Mybatis plus多数据源配置
  • 详解Spring获取配置的三种方式
    目录前言Spring中获取配置的三种方式通过@Value动态获取单个配置通过@ConfigurationProperties+前缀方式批量获取通过Environment动态获取单个配...
    99+
    2024-04-02
  • redis加锁的三种方式小结
    目录1 INCR2 SETNX3 SETredis常见的加锁命令分别是INCR、SETNX、SET 1 INCR 这种锁的加锁思路是:key不存在,那么key的值会先被初始化为0,然...
    99+
    2023-01-04
    redis 加锁
  • Mybatis之typeAlias配置的3种方式小结
    目录Mybatis typeAlias配置1.定义别名2.扫描包方式3.注解方式springboot加载mybatis的typeAlias问题为了清晰可见,直接贴代码Mybatis ...
    99+
    2024-04-02
  • 基于spring boot排除扫描类的三种方式小结
    最近在做单测的时候,由于自己配置的spring boot容器会默认扫描很多不想被加载,网上中文的文章并不多,所以来总结一下。 默认下面描述的类都在一个包下面 第一步我们新建一个应用启...
    99+
    2024-04-02
  • feign实现传递参数的三种方式小结
    需要注意的一点是,feign好像是无法传递list集合类型的,但是你可以通过传递对象类型,然后在接收方再次将对象装在集合中达到集合传递的效果 传递方式一:传递的都是基本数据类型 re...
    99+
    2024-04-02
  • springboot配置多个数据源两种方式实现
    目录第一种方式:方法二在我们的实际业务中可能会遇到;在一个项目里面读取多个数据库的数据来进行展示,spring对同时配置多个数据源是支持的。 本文中将展示两种方法来实现这个功能。 s...
    99+
    2024-04-02
  • nginx配置防盗链的三种实现方式总结
    目录什么是资源盗链一、引导案例二、Nginx防盗链实现原理三、Nginx防盗链具体实现实现方式一实现方式二实现方式三总结什么是资源盗链 资源盗链是指内容不在自己服务器上,而通过技术手...
    99+
    2024-04-02
  • C#多态的三种实现方式(小结)
    C#实现多态主要有3种方法,虚方法,抽象类,接口 1 虚方法 在父类的方法前面加关键字virtual, 子类重写该方法时在方法名前面加上override关键字,例如下面的Perso...
    99+
    2024-04-02
  • Java中switch的三种用法方式小结
    目录标准方式switch - > 用法:switch yield 用法:返回值从java14开始, switch语句有了一个很大的调整, 这就让swicth语句有了更多的操作和...
    99+
    2023-05-16
    Java switch用法 switch yield
  • spring+mybatis多数据源的配置
    解决方案:多套sqlSessionFactory,针对不同的数据源数据源Xml代码  <something-else-entirely>   &...
    99+
    2024-04-02
  • OpenFeign设置header的三种方式总结
    目录设置OpenFeign的FeignClient的Header信息1、在@RequestMapping注解里添加headers属性2、在方法参数前面添加@RequestHeader...
    99+
    2023-05-14
    openfeign header openfeign设置header openfeign使用
  • window.print()局部打印三种方式(小结)
    目录方法一: 通过开始、结束标记(startprint、endprint)来打印方法二:通过id选择器来替换内容打印,方法类似第一种方法三:通过动态创建iframe来打印(推荐的方法...
    99+
    2024-04-02
  • Spring 加载 Application Context五种方式小结
    目录Spring创建出现的错误,ApplicationContext错误解决方案容器是Spring框架的核心。Spring 容器使用DI管理构成应用的组件。Spring容器使用DI管...
    99+
    2024-04-02
  • Python处理mat文件的三种方式小结
    目录处理mat文件的三种方式scipyh5pymat73mat4pypython操作.mat文件python读取.mat格式mat转图片处理mat文件的三种方式 读书的时候,处理数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作