Spring--案例:数据源对象管理
案例:数据源对象管理
对于已经学过数据库的我来说,这看起来就像是连接数据库的操作;
就像javaweb项目里面的db.properties文件的使用一样,我们需要先导入一个包,(我用的是Maven项目,javaweb的导包就不再细说了)
那么,在一个Maven项目里面,我们需要提前导入依赖,对于这个模块的实现的话,需要导入连接数据库的依赖坐标和druid的依赖坐标,如图所示:


依赖坐标导入完成之后,我们需要在ApplicationContext.xml文件里面写入代码

如上图所示,其中的class属性里面就是调用到了刚才导入的druid的依赖坐标
我们还需要在可运行的java文件里面执行一下:

结果显示如下:

又来了一个问题,在Spring里面,对代码的耦合度很看重,而在上面的代码中,其中部分代码都已经写死,耦合度达不到要求,我们还需要通过下面的代码进行修改
对于Spring来说,可以通过加载properties文件达到降低耦合度的目的
那么,我们就需要来新修建一个properties文件,并在ApplicationContext.xml文件里面引用到该properties文件
步骤1:开启context命名空间
来到ApplicationContext.xml文件界面:
滑动到最上方,找到如上图所示的语句,将其复制到:
并将其修改一下,如下图:
复制完成后,是这样的:
然后再将这两句复制到他们的下面:并将其中的beans都改成context
全部完成之后,是这样的:
至此,context空间就开启完成啦!(就是复制几条已经存在的语句,然后将里面的beans都改成context就行啦!)
步骤2:使用context命名空间加载properties文件
我们首先需要有一个properties文件:
里面的格式与之前学到的连接数据的db文件是一样滴!
然后就在.xml文件里面调用它:

跟前面对比下,感觉这几条语句瞬间活过来的感觉。

步骤3:调用到properties里面的内容

将里面已经确定好的数据值,修改成properties文件里面的属性名称
到这里,就能够实现加载properties文件啦!
验证一下
下面是对于该项操作的验证,有兴趣的小伙伴可以尝试一下哦!
BookDao的接口和实现类


ApplicationContext.xml文件

main.java

验证结果

Spring--案例:数据源对象管理的更多相关文章
- spring+springmvc+mybatis+oracle+atomikos+jta实现多数据源事务管理
---恢复内容开始--- 在做项目过程中,遇到了需要一个项目中访问两个数据库的情况,发现使用常规的spring管理事务,导致事务不能正常回滚,因此,采用了jta+atomikos的分布式数据源方式 ...
- Spring IOC - 控制反转(依赖注入) - 入门案例 - 获取对象的方式 - 别名标签
1. IOC - 控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交 由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周 ...
- Spring中实现多数据源事务管理
文章转自 https://www.2cto.com/kf/201507/424229.html 前言 由于项目中引入了多个数据源,并且需要对多个数据源进行写操作,那么多数据源的事务管理自然成了不可避 ...
- Spring 多数据源 @Transactional 注解事务管理
在 Spring,MyBatis 下两个数据源,通过 @Transactional 注解 配置简单的事务管理 spring-mybatis.xml <!--******************* ...
- Spring IOC容器交给application域对象管理
在项目开发中,我们不能在每次使用IOC容器时,都创建一个ApplicationContext对象, 因此我们将IOC容器交给application域对象管理,application对象在服务器启动时创 ...
- Spring中的事务管理详解
在这里主要介绍Spring对事务管理的一些理论知识,实战方面参考上一篇博文: http://www.cnblogs.com/longshiyVip/p/5061547.html 1. 事务简介: 事务 ...
- XML方式实现Spring声明式事务管理
1.首先编写一个实体类 public class Dept { private int deptId; private String deptName; public int getDeptId() ...
- 框架应用:Spring framework (四) - 事务管理
事务控制 事务是什么?事务控制? 事务这个词最早是在数据库中进行应用,讲的用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位. 事务的管理是指一个事务的开启,内容添加, ...
- Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之ssh框架整合
前言 转载请标明出处:http://www.cnblogs.com/smfx1314/p/7795837.html 本项目是我写的一个练习,目的是回顾ssh框架的整合以及使用.项目介绍: ...
- 深入理解Spring Boot数据源与连接池原理
Create by yster@foxmail.com 2018-8-2 一:开始 在使用Spring Boot数据源之前,我们一般会导入相关依赖.其中数据源核心依赖就是spring‐boot‐s ...
随机推荐
- 044_Schedule Job 间隔时间自动执行
需求:系统上的标准功能是能够设置间隔一天的执行,或者是写完代码着急测试我们写个5分钟后执行的: 但是遇到要求没间隔一小时或者十分钟执行,该怎么处理呢? global class **_Retrieve ...
- JS篇(001)-document load 和 document ready 的区别
答案: 页面加载完成有两种事件 1.load是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行一个函数 问题:如果图片资源较多,加载时间较长,onload后等待 ...
- 通过n个线程顺序打印26个英文字母
通过n个线程顺序打印26个英文字母,例如 n=3 则输出: thread0: a thread1: b thread2: c thread0: d 方案一:轮询 多个线程不断轮询是否是该线程执行任务. ...
- python读取Excel文件的操作
①通过xlutils在已有表中写数据(这种方法会改变excel的样式) import xlrd,xlwt from xlutils.copy import copy 将已存在的Excel表格赋值给变量 ...
- Hive+spark工业化项目
DolphinScheduler:国产调度平台 airflow: 调度平台
- mybatis-plus 3.4.3.1 设置数据库字段为NULL
实体字段注解配置 @TableField(jdbcType = JdbcType.VARCHAR, updateStrategy = FieldStrategy.IGNORED) private St ...
- python3GUI--用Tk开发一款恶搞蓝屏软件(附源码)
目录 一.准备工作 1.Tkinter 2.科普-电脑蓝屏 二.预览 1.蓝屏-win10.win11(中文版) 2.蓝屏-win10.win11(英文版) 3.Windows其他版本(XP.Win7 ...
- MongoDB 相关的一些操作
一. 在 MongoDB Compass中输入条件查询数据 {"src":"小车"} // = 该值 {"src":{$ ...
- Python使用socks代理
Python使用socks代理 参考:How to make python Requests work via socks proxy - Stack Overflow 使用pysocks库 - Ji ...
- [C#] Func及Action的快速Demo
参考代码1: using System;using System.Collections.Generic;using System.Linq;namespace FuncActionDemo{ ...