【Spring】配置文件-properties和xml

文章目录

  • 1. 前言
  • 2. properties配置文件
  • 3. xml配置文件
  • 4. 总结

1. 前言

在Spring中,配置文件有两种,properties配置文件和xml配置文件

properties配置文件,在Java编程中是一种常见的配置文件形式,文件后缀为“.properties”,属于文本文件。它的内容格式是“键=值”的格式,并且可以使用“#”作为注释。

XML配置文件是一种用于存储和传输数据的格式,它以可读性较强的文本形式表示数据结构。XML配置文件通常用于描述软件系统的配置信息、数据库结构、网络拓扑等。

2. properties配置文件

properties配置文件主要学习如何让Spring进行读取
接下来会通过JDBC的代码来进行说明:

首先要现在pom.xml来引入相关依赖

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

不使用Spring的代码:

public class DBUtil {public static void main(String[] args) {MysqlDataSource dataSource =  new MysqlDataSource();dataSource.setURL("jdbc:mysql://127.0.0.1:3306/test");dataSource.setUser("root");dataSource.setPassword("284013");}
}

上述只是JDBC中创建数据源的代码.

为什么要用到Spring呢?

MysqlDataSource dataSource =  new MysqlDataSource();

dataSource也是对象,既然是对象我们就可以把dataSource交给Spring来管理,这也是Spring的特性之一(IOC).

IOC的核心概念是将对象创建的权利交给一个被称为IoC容器的程序来进行管理,而不是传统的在对象内部直接控制

dataSource.setURL("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false;");
dataSource.setUser("root");
dataSource.setPassword("123123");

这三行代码也只是在为dataSource设置属性值,这不就是DI依赖注入嘛.

因此只需要使用配置文件来解决IOC和DI就可以了

将dataSource放到Spring容器中:

    <bean class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" id="dataSource"><property name="url" value=""></property><property name="user" value=""></property><property name="password" value=""></property></bean>

我这里并没有直接把值写到bean标签中,写在bean标签中,数据就写死了不太好.

我们来用properties配置文件,让Spring来读取properties配置文件中的值

创建properties配置文件:
在这里插入图片描述
properties配置文件中的值是以key=value的形式存在的

jdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false;
jdbc.user=root
jdbc.password=123123

在这里插入图片描述
roperties配置文件创建好了,如何进行读取呢?

读取properties配置文件需要在Spring的配置文件中使用<context:property-placeholder>标签

在这里插入图片描述
在使用<context:property-placeholder>这个标签时,上面的xmlns会多一行.这一点需要注意一下

接下来让Spring读取properties配置文件:
在这里插入图片描述
⭐注意:这里读取是使用的是${key},注意和SpEL的#{表达式}进行区分

接下来来获取Spring容器中dataSource这个对象,并查看对应的属性
在这里插入图片描述
可以看到设置的值已经成功注入了

3. xml配置文件

在实际开发中,并不会只用一个配置,如果代码多了,看起来就会十分麻烦,而是会使用多个配置,然后将多个配置文件整合到主配置文件中

在我刚才的示例中:我的主配置文件是Spring-config.xml,还有一个jdbc.properties配置文件.jdbc的数据库连接池在主配置文件中,我想把这部分代码单独放在jdbc.xml中然后再整合到主配置文件中
在这里插入图片描述
jdbc.xml:
与主配置文件时相同,设置bean对象,读取jdbc.properties配置文件,不要忘记<context:property-placeholder>这个标签
在这里插入图片描述
接下来将jdbc.xml引入到Spring-config.xml(主配置文件)中,只需要在Spring-config.xml中加入这一段代码:

<import resource="classpath:jdbc.xml"></import>

使用的是<import>标签,同时设置 resource这个属性就可以了
测试:
在这里插入图片描述
获取dataSource对象,属性也没有问题

4. 总结

本文通过获取数据库的连接源进行讲解,主要讲解了Spring如何读取properties配置文件以及将xml配置文件进行整合,以及所需要的标签的讲解,虽然比较简单,但也要多多练习!
以上就是配置文件的所有内容了,感谢你的观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/128005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十分钟设置免费海外远程桌面 | 使用Amazon Lightsail服务的免费套餐轻松搭建远程桌面

目录 使用Amazon Lightsail服务的免费套餐轻松搭建远程桌面 1. 启动Amazon Lightsail实例 2. 配置远程桌面 3. 启动远程桌面 4. 使用远程桌面 使用Amazon Lightsail服务的免费套餐轻松搭建远程桌面 前言 ①本教程将向您介绍如何使用Amazon Lightsail服务的免费套餐轻松搭…

知心早安问候语,愿你享受美好的时光,幸福快乐每一天

人生万里路&#xff0c;走好每一步&#xff0c;身体是本钱&#xff0c;平安是财富&#xff0c;开心就是护身符&#xff0c;健康才是摇钱树。新的一天&#xff0c;事事顺意&#xff01; 晨起福门开&#xff0c;快乐安康在&#xff0c;愉悦心态好&#xff0c;生活充满爱&#xf…

DeepXDE学习笔记【1】——简单ODE方程求解

DeepXDE学习笔记【1】——简单ODE方程求解 1、背景 物理信息神经网络(PINN)自从2017年被提出&#xff0c;其应用范围在近两年也被挖掘的越来越广泛&#xff0c;除了可以解决物理方面的问题&#xff0c;信号处理、工程评估等等方向也开始有所涉及&#xff0c;所谓“物理数据双…

【软考】14.3 设计模式

《设计模式》 有下划线&#xff1a;类模式 / 对象模式无下划线&#xff1a;对象模式 创建型 设计模式 创建对象 构建器&#xff08;Builder&#xff09;&#xff1a;类和构造分离抽象工厂&#xff08;Abstract Factory&#xff09;&#xff1a;抽象接口工厂&#xff08;Factor…

MongoDB系例全教程

一、系列文章目录 一、MongoDB安装教程—官方原版 二、MongoDB 使用教程(配置、管理、监控)_linux mongodb 监控 三、MongoDB 基于角色的访问控制 四、MongoDB用户管理 五、MongoDB基础知识详解 六、MongoDB—Indexs 七、MongoDB事务详解 八、MongoDB分片教程 九、Mo…

如何在MacOS使用homebrew安装Nginx

文章目录 Homebrew安装nginxbrew启动Nginxbrew关闭Nginx 参考文章地址 Homebrew安装nginx 在确保MacOS 安装Homebrew成功以后&#xff0c;执行如下命令 brew install nginx注意&#xff1a;Nginx安装成功后会提示目录位置&#xff1b;每个人的系统可能因为Homebrew的安装位置…

【Linux学习笔记】进程概念(下)

进程地址空间1. 虚拟地址2. 什么是进程地址空间3. 进程地址空间的映射。4. 地址空间存在的意义5. 写时拷贝 进程地址空间 1. 虚拟地址 来看这样一段代码。 #include <stdio.h> #include <unistd.h>int global_value 100;int main() {pid_t id fork();if(id &l…

前端CSS

文章目录 引入标签的两大重要属性&#xff1a;区分标签class属性id属性学习CSS流程 CSS前言CSS层叠样式表1.CSS组成2.css语法结构3.注释语法4.引入css的多种方式 CSS选择器1.CSS基本选择器2.CSS组成选择器3.分组与嵌套4.属性选择器5.伪类选择器6.伪元素选择器 选择器优先级CSS继…

基于深度学习的水果识别 计算机竞赛

1 前言 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天做一个 基于深度学习的水果识别demo 这是一个较为新颖的竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/pos…

什么情况会造成电表不走数?

电表是衡量用电量的重要设备&#xff0c;一旦出现不走数的情况&#xff0c;不仅会影响用户对用电量的准确计算&#xff0c;还可能造成电费纠纷。那么&#xff0c;究竟什么情况下会造成电表不走数呢&#xff1f;接下来&#xff0c;小编来为大家介绍下&#xff0c;一起来看下吧&a…

傅里叶分析和小波分析

从傅里叶变换到小波变换&#xff0c;并不是一个完全抽象的东西&#xff0c;可以讲得很形象。小波变换有着明确的物理意义&#xff0c;如果我们从它的提出时所面对的问题看起&#xff0c;可以整理出非常清晰的思路。 下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺…

Python---字符串切片-----序列名称[开始位置下标 : 结束位置下标 : 步长]

字符串切片&#xff1a;是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。 本文以字符串为例。 基本语法&#xff1a; 顾头不顾尾&#xff1a; ----------类似range&#xff08;&#xff09; 范围&#xff0c;顾头不顾尾 相关链接Python----ran…

python使用ffmpeg来制作音频格式转换工具(优化版)

简介:一个使用python加上ffmpeg模块来进行音频格式转换的工具。 日志: 20231030:第一版,设置了简单的UI布局和配色,实现音频转为Mp3、AAC、wav、flac四种格式。可解析音频并显示信息,可设置转换后的保存路径 UI界面: 编程平台:visual studio code 编程语言:python 3…

SuperMap iServer 11i(2023)安全性提升汇总

作者&#xff1a;lisong 目录 账户信息合规度校验规则扩展功能图片验证码登录功能Web服务提供者密码加密数据库密码加密漏洞修复 SuperMap iServer 11i&#xff08;2023&#xff09;产品安全性相关的提升众多&#xff0c;涵盖账户安全、服务安全以及漏洞修复等方面&#xff0c;…

dockefile

文章目录 应用的部署MySql的部署Tomcat的部署 dockerfileDocker原理镜像的制作容器转镜像Dockerfile 服务编排Docker Compose Docker 私有仓库 应用的部署 搜索app的镜像拉去app的镜像创建容器操作容器中的app MySql的部署 容器内的网络服务和外部机器无法直接通信外部机器和…

Jenkins中解决下载maven包巨慢的问题

背景介绍 我们在使用jenkins构建maven项目时由于依赖很多第三方jar包&#xff0c;默认会从maven中央仓库下载&#xff0c;由于maven中央仓库服务器是国外的&#xff0c;所以下载很慢&#xff0c;甚至会超时 解决办法 增加jenkins maven 源配置 如下图所示&#xff0c;增加m…

Apache ActiveMQ (版本 < 5.18.3) (CNVD-2023-69477)RCE修复方案/缓解方案

一、漏洞描述 Apache ActiveMQ 是美国阿帕奇&#xff08;Apache&#xff09;基金会的一套开源的消息中间件&#xff0c;它支持 Java 消息服务、集群、Spring Framework 等。 二、漏洞成因 ActiveMQ 默认开放了 61616 端口用于接收 OpenWire 协议消息&#xff0c;由于针对异常…

店铺消费短信通知模板,可以自定义编辑内容群发

店铺消费短信通知模板&#xff0c;可以自定义编辑内容群发 上图可以对短信的发送情况进行查询&#xff0c;可以通过该软件群发短信。 下图为 佳易王 会员管理系统软件&#xff0c;在会员充值或消费的时候&#xff0c;可以设置自动发送短信通知信息。 可以自由设置&#xff0c;…

OpenFeign的简单介绍和功能实操

前言 本文主要做一下OpenFeign的简单介绍和功能实操&#xff0c;实操主要是OpenFeign的超时和重试&#xff0c;在阅读本文章前&#xff0c;请完成《Nacos 注册中心介绍与实操》内的Nacos多模块生产消费者项目 什么是OpenFeign OpenFeign全名Spring Cloud OpenFeign&#xff…

【计算机网络】路由器的工作原理

文章目录 输入端口处理和基于目的地转发交换结构输出端口处理排队问题参考资料 路由器的四个组件 输入端口(input port)&#xff1a;执行物理层功能&#xff08;input port 左边方框、output port 右边方框&#xff09;、数据链路层功能&#xff08;input/output port 中间方框…