spring读取properties配置文件「建议收藏」

spring读取properties配置文件「建议收藏」spring读取properties配置文件

大家好,又见面了,我是你们的朋友全栈君。

      在项目中,会存放一些不经常变动的信息,比如数据库的配置,如果我们直接写在代码里,当项目发布以后,想要修改数据库的连接信息,就需要修改代码,重新发布,这样做显然是不明智的选择。我们就可以把这些信息写到一个配置文件中,即使项目发布了,需要修改数据库的配置信息,也不需要复杂的操作,只需要修改配置文件即可。

     通过spring读取properties配置文件,我觉得可以分为三步,第一步是在项目中添加一个.properties配置文件,第二步在spring中加载定义的配置文件,第三步就是在xml文件或java文件中读取值。

      最开始我们的数据库配置信息是这样的

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
    <property name="driverClass" value="com.mysql.jdbc.Driver" />  
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/shop" />  
    <property name="user" value="root" />  
    <property name="password" value="root" />  
</bean>  

         当我们定义了配置文件后,就可以把上面的信息抽取出来:

dataSource=com.mchange.v2.c3p0.ComboPooledDataSource  
driverClass=com.mysql.jdbc.Driver  
jdbcUrl=jdbc\:mysql\://localhost\:3306/shop  
user=root  
password=root  

       接下来就是加载配置文件,加载配置文件有两种方式:

<context:property-placeholder location="classpath:conn.properties"/>

     上面我们是通过<context:property-placeholder location=””/>标签来加载配置文件的,但是如果我们需要加载多个配置文件时,就需要添加通配符。

      我们还可以同过另外一种方式加载:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="locations">
     <!-- PropertyPlaceholderConfigurer类中有个locations属性,接收的是一个数组,即我们可以在下面配好多个properties文件 -->  
        <array>  
            <value>classpath:conn.properties</value>  
        </array>  
        <array>  
            <value>classpath:sys.properties</value>  
        </array>  
    </property>  
</bean> 

      最后我们就可以读取配置文件的值了。

      在xml文件中,通过${}读取:

<bean id="dataSource" class="${dataSource}"> 
    <property name="driverClass" value="${driverClass}" />  
    <property name="jdbcUrl" value="${jdbcUrl}" />  
    <property name="user" value="${user}" />  
    <property name="password" value="${password}" />  
 </bean>  

      通过注解在java类中通过@Value注解读取:

    @Value("#{name}")  
    private String dbname;  
      
    @Value("#{passward}")  
    private String dbpassward; 

      关于这块的内容也是刚刚学习,希望大家多多指教。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105639.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【SpringBoot】25、SpringBoot中使用Quartz管理定时任务

    【SpringBoot】25、SpringBoot中使用Quartz管理定时任务定时任务在系统中用到的地方很多,例如每晚凌晨的数据备份,每小时获取第三方平台的Token信息等等,之前我们都是在项目中规定这个定时任务什么时候启动,到时间了便会自己启动,那么我们想要停止这个定时任务的时候,就需要去改动代码,还得启停服务器,这是非常不友好的事情直至遇见Quartz,利用图形界面可视化管理定时任务,使得我们对定时任务的管理更加方便,快捷一、Quartz简介Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲

    2025年8月20日
    2
  • OC中语法糖,最新语法总结

    OC中语法糖,最新语法总结

    2022年1月30日
    48
  • Swoole来实现实时异步任务队列

    Swoole来实现实时异步任务队列

    2022年2月10日
    39
  • java实现将图片读取成base64字符串,将base64字符串存储为图片。

    java实现将图片读取成base64字符串,将base64字符串存储为图片。全栈工程师开发手册(作者:栾鹏)java教程全解java实现将图片读取成base64字符串,将base64字符串存储为图片。将图片转化为字符串以后,由于字符串更方便在网络上通过ajax传输、在网络web前台和后台间进行传输。importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;图片转化成base64字符串

    2025年8月2日
    2
  • eclipse环境下spring整合mybatis详细教程[通俗易懂]

    eclipse环境下spring整合mybatis详细教程[通俗易懂]系列目录第一篇:3分钟快速了解Mybatis的基础配置第二篇:带你3分钟了解Mybatis映射文件(sql,resultMap等映射)第三篇:三分钟带你了解mybatis关联映射(案例分析一对一,多对多)原创不易,如若喜欢,就点一点赞,关注一下吧!文章目录系列目录一、整合环境搭建-jar包准备1.spring所需要使用的jar包有(8+2):2.mybatis所需要使用的jar包有3.spring整合mybatis的中间jar二、整合环境搭建-创建项目1.eclipse环境创建2.jar添

    2022年5月2日
    53
  • android 的hook技术,Android Native Hook技术(一)

    android 的hook技术,Android Native Hook技术(一)原理分析ADBI是一个著名的安卓平台hook框架,基于动态库注入与inlinehook技术实现。该框架主要由2个模块构成:1)hijack负责将so注入到目标进程空间,2)libbase是注入的so本身,提供了inlinehook能力。源码目录中的example则是一个使用ADBI进行hookepoll_wait的示例。hijackhijack实现动态库注入功能,通过在目标进程插入d…

    2022年5月25日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号