案例:数据源对象管理

对于已经学过数据库的我来说,这看起来就像是连接数据库的操作;

就像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--案例:数据源对象管理的更多相关文章

  1. spring+springmvc+mybatis+oracle+atomikos+jta实现多数据源事务管理

    ---恢复内容开始---   在做项目过程中,遇到了需要一个项目中访问两个数据库的情况,发现使用常规的spring管理事务,导致事务不能正常回滚,因此,采用了jta+atomikos的分布式数据源方式 ...

  2. Spring IOC - 控制反转(依赖注入) - 入门案例 - 获取对象的方式 - 别名标签

    1. IOC - 控制反转(依赖注入) 所谓的IOC称之为控制反转,简单来说就是将对象的创建的权利及对象的生命周期的管理过程交 由Spring框架来处理,从此在开发过程中不再需要关注对象的创建和生命周 ...

  3. Spring中实现多数据源事务管理

    文章转自  https://www.2cto.com/kf/201507/424229.html 前言 由于项目中引入了多个数据源,并且需要对多个数据源进行写操作,那么多数据源的事务管理自然成了不可避 ...

  4. Spring 多数据源 @Transactional 注解事务管理

    在 Spring,MyBatis 下两个数据源,通过 @Transactional 注解 配置简单的事务管理 spring-mybatis.xml <!--******************* ...

  5. Spring IOC容器交给application域对象管理

    在项目开发中,我们不能在每次使用IOC容器时,都创建一个ApplicationContext对象, 因此我们将IOC容器交给application域对象管理,application对象在服务器启动时创 ...

  6. Spring中的事务管理详解

    在这里主要介绍Spring对事务管理的一些理论知识,实战方面参考上一篇博文: http://www.cnblogs.com/longshiyVip/p/5061547.html 1. 事务简介: 事务 ...

  7. XML方式实现Spring声明式事务管理

    1.首先编写一个实体类 public class Dept { private int deptId; private String deptName; public int getDeptId() ...

  8. 框架应用:Spring framework (四) - 事务管理

    事务控制 事务是什么?事务控制? 事务这个词最早是在数据库中进行应用,讲的用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位. 事务的管理是指一个事务的开启,内容添加, ...

  9. Struts2+Spring+Hibernate实现员工管理增删改查功能(一)之ssh框架整合

    前言        转载请标明出处:http://www.cnblogs.com/smfx1314/p/7795837.html 本项目是我写的一个练习,目的是回顾ssh框架的整合以及使用.项目介绍: ...

  10. 深入理解Spring Boot数据源与连接池原理

    ​ Create by yster@foxmail.com 2018-8-2 一:开始 在使用Spring Boot数据源之前,我们一般会导入相关依赖.其中数据源核心依赖就是spring‐boot‐s ...

随机推荐

  1. JS篇(010)-JavaScript 继承的方式和优缺点

    答案:六种方式 一.原型链继承 缺点: 引用类型的属性被所有实例共享 在创建 Child 的实例时,不能向 Parent 传参 二.借用构造函数(经典继承) 优点: 避免了引用类型的属性被所有实例共享 ...

  2. vue3使用swiper 完整步骤

    注意: 使用之前请确定使用的swiper版本,避免走一些不必要的弯路(笔者踩过来的)本文采用的是vue3.0.swiper^8.1.0. 1.安装依赖 npm install swiper 2.vue ...

  3. vue3 微信支付和支付宝支付 H5和微信内置浏览器

    vue3微信支付和支付宝支付 // 判断是否为微信内置浏览器 let browser: any = navigator.userAgent.toLowerCase(); let isWechat: a ...

  4. 摘抄笔记 centos内核优化

  5. js遍历出数组重复的数据,及重复的个数(简单有效)

    const res={} ["s","s","a"].forEach((key)=>{ if(res[key]){ res[key]+ ...

  6. react对于setState的写法

    react对于setState的写法,改变state的数组里边的值也可以这样写 [1,2,3,4,5].forEach((item)=>{ let arr={} arr[`list${item} ...

  7. XSS跨站脚本攻击(Cross Site Scripting)

    XSS是跨站脚本攻击(Cross Site Scripting),不写为CSS是为了避免和层叠样式表(Cascading Style Sheets)的缩写混淆,所以将跨站脚本攻击写为XSS. 攻击者可 ...

  8. JDK1.8下载、安装和环境配置教程——

    JDK1.8下载.安装和环境配置教程 1.下载安装包 - 浏览器搜索JDK8,如下图: - 点击网页打开后,下拉找到这个: - 根据自己的系统选择正确的进行下载: 例如我的是windows 64位,我 ...

  9. LoadRunner——block(块)技术

    一般情况下,loadrunner中的事务是统一执行的,多个事务所执行的次数是相同的,对于不同的事务执行不同的次数就要用到block(块)技术 block(块)技术主要应用于在一个脚本中实现不同事务.不 ...

  10. 【Jenkins】jenkins 配置腾讯企业邮箱

    首页]-->[系统管理]-->[系统设置] //////////////////////////////////////////////////////////////////////// ...