Spring引入外部数据源

spring-dataSource.xml

数据源配置文件

XML 复制代码
<?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 https://www.springframework.org/schema/context/spring-context.xsd">

<!--    引入jdbc.properties,之后可以通过${key}的方式访问value-->
    <context:property-placeholder location="jdbc.properties"></context:property-placeholder>
<!--    创建德鲁伊外部数据源
           经常会用到,以后spring整合mybatis,只要spring中有数据源,mybatis就可以直接用
-->
    <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>

jdbc.properties

配置数据库的信息:

java 复制代码
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?serverTimezone=UTC&useSSL=false
jdbc.username=root
jdbc.password=********

DataSourceTest.java

测试连接数据库:通过IOC容器管理当前的配置的数据源

java 复制代码
package com.zh.spring.test;

import com.alibaba.druid.pool.DruidDataSource;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.sql.SQLException;

public class DataSourceTest {
    @Test
    public void testDataSource() throws SQLException {
     ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-datasource.xml");
        DruidDataSource dataSource = ioc.getBean(DruidDataSource.class);
        System.out.println(dataSource.getConnection());
    }
}
相关推荐
ZC跨境爬虫6 分钟前
LeetCode 119. 杨辉三角 II(原地更新优化详解 + Java Python 实现)
java·python·leetcode
AINative软件工程10 分钟前
LLM 请求合并工程实践:用 Single-Flight 把并发重复调用从 N 次砍成 1 次
后端·llm·ai编程
程序员爱钓鱼13 分钟前
Go 编程实战:数组 Array——固定长度的数据集合
后端·面试·go
程序员黑豆6 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
桦说编程8 小时前
并发编程中的等待-通知模式:从 wait/notify 到 Guava Monitor
后端
mldong9 小时前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路10 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
用户9385156350710 小时前
工厂模式与 Nest.js 核心思想 —— 从蜜雪冰城到企业级架构
后端·设计模式·nestjs
用户9385156350710 小时前
实战 Todo CRUD —— 从路由到异常,手写一个完整模块
后端·typescript·nestjs