当前位置: 首页 > news >正文

Spring——数据源对象管理和Spring加载properties文件

 

前面一直都是在管理自己内部创建的对象,这个是管理外部的对象。

这里先使用阿里巴巴的druid来演示。需要在pom.xml中添加如下的依赖

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>

现在要在配置文件里面加入一个数据库的bean配置,这里使用的是setter注入,也只能使用setter注入,如下的配置信息就和使用mybatis时配置文件里面的格式一样,mysql8.0以上版本就要加上cj

 在主函数里面获取该bean对象尝试输出成功(这可比什么jdbc有用多了)

 

这里再使用c3p0来演示,先加个依赖

<!--开源的JDBC连接池-->
<dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency>

 现在要使用c390的数据库的连接池对象同样要去IOC里面添加一个新的bean对象,想上面一样的配置,并把id拿过来

 同时还要加上一个mysql的驱动依赖,上面druid不需要是因为druid自带了mysql驱动,

现在根据自己需要导入对应的mysql驱动坐标

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.31</version></dependency>

随后可以直接输出获取的bean对象

上面有很多信息也可一看见我们配置的url用户名之类的,我们也可以根据上面的信息再次取到配置文件配置新的东西比如最大连接数量

​
<property name="maxPoolSize" value="100"/>​

以后如果要在spring中导入多种第三方资源都可以像上面一样来做

Spring加载properties文件

对于上面的username,password之类的东西一般都不会直接写在配置文件里面,需要单独一个文件来写,现在配置文件里面如下配置

1.新加一个名为context的命名空间

然后再加多两行后就可以使用一个名为context的命名空间

 2.使用context空间加载propertises文件

在此之前需要在resources里面新建一个jdbc.propertises文件,并且按照如下的格式进行配置

 

location标签标准通用写法

location="classpath:*.properties" //表示读取当前工程文件内的所有properties文件
//不会连外部资源的jar包里面的properties文件也一起加载进来location="classpath*:*.properties"
//可以连jar包中的properties文件一起加载进来

 

 

3.使用属性占位符${}读取propertises文件中的属性

使用属性占位符在bean对象里面对应上相应的名字 

现在配置好了之后想要看见里面的属性可以利用别的bean对象带出来

 成功输出

 

 

 

 

http://www.lryc.cn/news/34890.html

相关文章:

  • Zeek安装、使用与压力测试
  • 【javaEE初阶】第三节.多线程 (进阶篇 ) 死锁
  • 基于密集连接的轻量级卷积神经网络,用于使用边云架构的露天煤矿服务识别
  • 无刷高速风筒方案介绍--【PCBA方案】
  • 花括号展开II[栈模拟dfs]
  • 神经网络分类任务(手写数字识别)
  • FCN网络(Fully Convolutional Networks)
  • 随想录二刷Day15——二叉树
  • docker-compose部署kafka服务时如何同时允许内外网访问?
  • 数据结构刷题(二十):17电话号码的字母组合、39组合总和、40组合总和II
  • Java面试总结(五)
  • 三维人脸实践:基于Face3D的渲染、生成与重构 <二>
  • 在linux上部署Java项目
  • 线性表的接口
  • spark三种操作模式的不同点分析
  • Vue3做出B站【bilibili】 Vue3+TypeScript【快速入门一篇文章精通系列(一)前端项目案例】
  • 猜数游戏--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
  • Nvidia jetson nano 部署yolov5_技术文档
  • 获取当前天数前N天
  • Linux---基本指令
  • 【UE4 RTS游戏】02-摄像机运动_完成摄像机在X轴上运动的相关步骤
  • Kubernetes学习(五)持久化存储
  • 下一个7年,保持期待、持续思考,酷雷曼继续向前!
  • 天梯赛训练L1-010--L1-012
  • 三分钟完成Stable Diffusion本地安装(零基础体验AI绘画)
  • 电子台账:教程目录及软件下载
  • 多态的优势和弊端
  • android h5考勤管理系统myeclipse开发mysql数据库编程服务端java计算机程序设计
  • 第二道pwn题:shellcode
  • 《华为数据之道》读书笔记