专栏【Spring】
喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
音乐分享【如愿】
欢迎并且感谢大家指出小吉的问题
我们还将学习使用属性文件进行参数配置的标准实践,让连接信息可外置。只要少量的Spring配置,就可以实现轻松的数据库连接管理、属性值注入等功能。跟随我一起学习数据源管理的最佳实践,大大简化数据库操作!
在Spring框架中,数据源对象管理是指通过Spring容器来管理和配置应用程序中使用的数据源对象。数据源对象是连接到数据库的资源,它提供了连接池、连接管理、事务管理等功能,使得应用程序能够高效地访问和操作数据库。
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
<version>5.2.10.RELEASEversion>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>druidartifactId>
<version>1.1.16version>
dependency>
dependencies>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/spring_db"/>
<property name="username" value="root"/>
<property name="password" value="1234"/>
bean>
package com.example;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import javax.sql.DataSource;
public class App {
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
// 拿出这个bean
DataSource dataSource=(DataSource) ctx.getBean("dataSource");
System.out.println(dataSource);
}
}
运行后发现,成功了
进阶版是沿用基础版的代码的
我们进入maven仓库,寻找c3p0
仓库地址
https://mvnrepository.com/
<dependency>
<groupId>c3p0groupId>
<artifactId>c3p0artifactId>
<version>0.9.1.2version>
dependency>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring_db"/>
<property name="user" value="root"/>
<property name="password" value="1234"/>
bean>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<version>5.1.47version>
dependency>
首先创建下图的结构
记得端口号改为自己的
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.125.2/abc
jdbc.username=root
jdbc.password=root
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/context
http://www.springframework.org/schema/beans/spring-context.xsd
">
<context:property-placeholder location="jdbc.properties"/>
<bean class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
bean>
beans>
package com.example.dao;
public interface BookDao {
public void save();
}
package com.example.dao.impl;
import com.example.dao.BookDao;
public class BookDaoimpl implements BookDao {
private String name;
public void setName(String name){
this.name=name;
}
public void save(){
System.out.println("book dao save . . . "+name);
}
}
<bean id="bookDao" class="com.example.dao.impl.BookDaoimpl">
<property name="name" value="${jdbc.driver}"/>
bean>
通过这些Spring数据源管理的入门示例,我们已经掌握了利用Spring容器配置和管理数据源的方法,实现了配置的解耦和方便的属性值注入,这在实际项目中非常有用。
我们还可以通过Spring JdbcTemplate、MyBatis等技术进行数据库操作,这些都可以建立在Spring数据源管理的基础之上。如果大家在数据源管理和数据库操作方面还有其他问题,欢迎留言讨论!