将原生Spring项目中某些配置文件中的易变内容参数化

😉😉 学习交流群:

✅✅1:这是孙哥suns给大家的福利!

✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料

🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取!

🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

💞💞5:以上内容,进群免费领取呦~ 💞💞💞💞

✅✅专栏说明: 

🍎🍎本专栏是原生Spring框架专栏,作者每一篇文章不期待讲清楚很多事情,而是一篇文章只讲好一件事情。让我们整个专栏讲好、讲透彻、将全面整个Spring的故事!

一:配置文件参数化 

1:配置文件参数化概念

        所谓的配置文件参数化就是把spring当中常用的常修改的字符串配置到配置文件当中,spring当中的配置文件是不是有哪些经常修改的字符串,为啥要转移到一个小的配置文件当中,这个小的配置文件是什么配置文件?

        Spring的配置文件当中存在那些经常修改的字符串吗?

        比方说阿里巴巴提供的连接池的配置当中需要提供四个属性,这四个属性是获取链接的必不可少的东西。驱动信息,账户和密码都有可能要变,所以需要写在配置文件当中,所以结论是存在的:以数据库连接相关的参数为代表。
 

        字符串充斥在Spring的配置文件当中是不是一个好事?
        这些东西跟Spring的主配置文件放在一块就很累。开发不仅仅考虑一个功能实现的问题还需要考虑一个维护难度的问题

        更小的配置文件用什么
        我们更小的配置文件用的是properties文件,不用xml文件了。


        信息转移走之后的配置应该怎么写?
        ${}的含义表示的是这块的内容是需要使用运算得出的,不是el表达式的意思。value这块的值需要通过运算来获得,是需要通过key所对应的key进行填充,配置文件参数化:利于spring配置文件的维护,便于修改。


2:配置文件参数化的开发步骤

(一):提供一个小的配置文件

        最好是properteis类型的配置文件,使用这个这个配置文件,主要保证是properteis进行结尾就行,至于是什么开头,放在哪里Spring并不介意

(二):将小配置文件和Spring配置文件整合

        Spring配置文件和小配置文件的整合Spring会自动帮我们把context命名空间引入进来,这是Spring专门为了整合小配置文件做的一个命名空间

        小配置文件放在resource文件下边。对于这个maven项目来讲,main下边有java,还有和他同级的resource文件夹,maven开发的过程中是这样分级的,但是当编译过后,resource里边的文件会放到和com平级的地方看着仿佛是在java里边,编译会把两个目录合二为一,resource下边的文件相当于在java目录的根下边,所以是和com是平级的就对了,在maven项目中target目录代表的事这些项目编译好的结果,class文件夹是存放编译好的文件,class文件夹下com和配置文件是平级的。我们把class这个文件夹叫做类路径也就是我们的classpath,classpath同时也是spring当中配置文件的一个关键字,这个关键字代表的就是类路径,就是对应的class路径这样我们就做好了Spring配置文件和小配置文件的整合

    <context:property-placeholder location="classpath:db.properties"/><bean id="conn" class = "com.pactera.spring.factorybean.ConnectionFactoryBean"><property name="driverClassName" value="${jdbc.DriverManager}"/><property name="url" value="${jdbc.url}"/><property name="userName" value="jdbc.username"/><property name="password" value="jdbc.password"/></bean>

😉😉 学习交流群:

✅✅1:这是孙哥suns给大家的福利!

✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料

🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取!

🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

💞💞5:以上内容,进群免费领取呦~ 💞💞💞💞

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

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

相关文章

获得文件MD5——校验完整性 window 和 Linux下操作

目录 引出window下获得文件MD5Linux下获得文件MD5单个文件整个目录下所有文件检查MD5 总结 引出 1.Windows 10 自带了一个命令行程序 certutil可以 获取文件的 MD5 值&#xff1b; 2.Linux下md5sum命令获得文件MD5值&#xff1b; window下获得文件MD5 Windows 10 自带了一个命…

王道p150 14.假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树 b的宽度(即具有结点数最多的那一层的结点个数) (c语言代码实现)

采用层次遍历的方法求出所有结点的层次&#xff0c;并将所有结点和对应的层次放在一个队列中。然后通过扫描队列求出各层的结点总数&#xff0c;最大的层结点总数即为二叉树的宽度。 /* A B C D E F …

Java实现通过经纬度求两个任意地点在球面上的距离

我们在实际开发中会获取对应的经纬度&#xff0c;可以使用ES大数据搜索引擎进行计算对应区域的数据&#xff0c;那我们在如何根据两个经纬度获取对应的球面距离&#xff0c;就是在地球上从一个地点到另一个地点的直线距离 工具类如下: public class GeoUtils {// 地球半径&am…

ANN人工神经网络:从基础认知到现实理解

什么是神经网络&#xff1f; 神经网络的再认知 前面我们了解过&#xff0c;人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09;是人类为了模仿人大脑的神经网络结构创建出来的一种计算机系统结构。但如果仔细深入到神经网络当中&#xff0c;会慢…

数据库管理-第118期 记一次开启附加日志导致的性能问题(202301129)

数据库管理-第118期 记一次开启附加日志导致的性能问题&#xff08;202301129&#xff09; 本周二凌晨&#xff0c;为了配合某国产数据库从Oracle数据库能够实时同步数据&#xff0c;在X9M那套一体机上做了开启附加日志的操作&#xff0c;也正是因为这个操作带来了一些小问题。…

【机器学习 | 可视化系列】可视化系列 之 决策树可视化

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

MySQL(免密登录)

简介: MySQL免密登录是一种允许用户在没有输入密码的情况下直接登录到MySQL服务器的配置。这通常是通过在登录时跳过密码验证来实现的。 1、修改MySQL的配置文件 使用vi /etc/my.cnf&#xff0c;添加到【mysqld】后面 skip-grant-tables #配置项告诉mysql跳过权限验证&#…

Python基础语法之学习数据转换

Python基础语法之学习数据转换 一、代码二、效果 一、代码 #数字转换成字符串 num_str str(11) print(type(num_str))#字符串转整数 numint("11") print(type(num),num)#浮点数转整数 float_num int(11.1) print(type(float_num),float_num)#整数转浮点数 num_flo…

Jmeter工具学习三——CSV文件、关联、断言

Jmeter学习三——CSV文件和关联 jmeter做功能测试和做性能测试的区别CSV数据文件设置&#xff08;读取外部文件&#xff0c;进行分数据驱动&#xff09;文件设置字段介绍&#xff1a;文件名文件编码如果出现编码问题导致的乱码&#xff0c;如何解决&#xff1f; 变量名忽略首行…

品牌全渠道营销系统如何与不同经销商ERP打通

品牌商在与各经销商ERP系统打通方面面临的挑战。传统的ERP系统往往使得数据收集和合作变得繁琐且低效&#xff0c;导致市场响应迟缓&#xff0c;影响整体的供应链管理和市场决策。我们的解决方案旨在破解这一难题&#xff0c;提供一个全渠道营销系统&#xff0c;它能自动与各类…

Openlayer【三】—— 绘制多边形GeoJson边界绘制

1.1、绘制多边形 在绘制多边形和前面绘制线有异曲同工之妙&#xff0c;多边形本质上就是由多个点组成的线然后连接组成的面&#xff0c;这个面就是最终的结果&#xff0c;那么这里使用到的是Polygon对象&#xff0c;而传给这个对象的值也是多个坐标&#xff0c;坐标会一个个的…

Oracle Linux 9.3 发布

导读Oracle Linux 9 系列发布了第 3 个版本更新&#xff0c;支持 64 位 Intel 和 AMD (x86_64) 以及 64 位 Arm (aarch64) 平台。与所有的 Oracle Linux 版本一样&#xff0c;此版本与相应 RHEL 版本 100% 应用二进制兼容。 对于 x86_64 和 aarch64 架构&#xff0c;Oracle Li…

rabbitmq-server-3.11.10.exe

rabbitmq需要erlang环境 otp_win64_25.1.exe erlang-CSDN博客 https://www.rabbitmq.com/download.htmlhttps://www.rabbitmq.com/install-windows.htmlhttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.10/rabbitmq-server-3.11.10.exe C:\Users\Admi…

【蓝桥杯选拔赛真题25】C++两个数比大小 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C++两个数比大小 一、题目要求 1、编程实现 2、输入输出 二、算法分析

多线程(进程池代码)

线程池介绍 那究竟什么是线程池呢&#xff1f; 线程池是一种线程使用模式. 线程过多会带来调度开销&#xff0c;进而影响缓存局部性和整体性能. 而线程池维护着多个线程&#xff0c;等待着监督管理者分配可并发执行的任务. 这避免了在处理短时间任务时创建与销毁线程的代价. 线…

Java计算时间差,距结束还有几天几小时几分钟

文章目录 1、写法2、备份3、LocalDate、LocalDateTime、Date、String互转 1、写法 //静态方法&#xff0c;传入年月日时分秒 LocalDateTime startTime LocalDateTime.of(2023, 11, 22, 15, 09, 59); LocalDateTime endTime LocalDateTime.of(2023, 11, 30, 0, 0, 0); //计算…

关于免费SSL证书

JoySSL是一家提供免费SSL证书的服务商&#xff0c;它的免费SSL证书不仅包括单域名&#xff0c;还包括多域名和通配符的免费证书。这意味着&#xff0c;无论您是只有一个网站的个人用户&#xff0c;还是拥有多个子域名的企业用户&#xff0c;都可以在JoySSL找到适合您的免费SSL证…

Selenium 元素不能定位总结

目录 元素不能定位总结: 1、定位语法错误&#xff1a; 定位语法错误&#xff0c;如无效的xpath&#xff0c;css selector,dom路径错误&#xff0c;动态dom 定位语法错误&#xff0c;动态路径&#xff08;动态变化&#xff09; 定位策略错误&#xff0c;如dom没有id用id定位…

OpenAI神秘项目“Q星”浮出水面,它会威胁人类吗?

来源&#xff1a; 现代快报全媒体 2023-11-26 23:55:15 百年之后&#xff0c;人类再看这段OpenAI的“宫斗大戏”&#xff0c;或许会从商战之外&#xff0c;看到2023年的人类面对未知世界忧心忡忡。 是否要继续投入资源&#xff0c;催动AI进化&#xff1f;身处2023年的人类…

ElasticSearch01

ElasticSearch 版本&#xff1a;7.8 学习视频&#xff1a;尚硅谷 笔记&#xff1a;https://zgtsky.top/ ElasticSearch介绍 Elaticsearch&#xff0c;简称为es&#xff0c; es是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b…