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)
上一篇 2022年4月25日 上午10:20
下一篇 2022年4月25日 上午10:40


相关推荐

  • nginx正向代理服务器搭建

    nginx正向代理服务器搭建nginx 正向代理服务器搭建场景 由于网络环境限制 只能通过代理服务器访问外网 代理服务器自己部署 由于业务需求容器或者 k8s 的 pod 也需要通过代理访问外网代理服务器搭建 系统 CentOS7 通过编译安装 nginx 实现正向代理功能代理服务器 CentOS7 180 76 189 168 0 15 内网服务器 Ubuntu16 04 192 168 0 150 步骤如下 1 编译安装 nginxyum yinstallgccg c autoconfauto

    2026年3月26日
    2
  • 网络传真机——让传真,超越纸的限制[通俗易懂]

    网络传真机——让传真,超越纸的限制[通俗易懂]网络传真机,离你不再遥远!网络传真-真实号码版,超低价来袭,江苏电信倾力投资,立足江苏,面向全国!13万靓号任君选择。 (1)传真发送功能 点击写传真可进行单个号码发送传真也可多个号码…

    2022年6月28日
    33
  • 初识DB4O「建议收藏」

    初识DB4O「建议收藏」   DB4O?   新出的OODBMS~取谐音DBforO。一个优秀的OODBMS解决方案,它出现的定位就是为了开发嵌入式和小型应用,同HSQLDB的定位相仿。不过DB4O的的优点则是,本身是OODBMS,那么对它的操作自然就是基于OO的,同Hiberante一样,但是Hiberante是ORM解决方案,而DB4O则是原生OODBMS方案。看看下面的例子一个同Hibernate相同的P…

    2022年7月21日
    15
  • 不通过浏览器获取公网 IP

    不通过浏览器获取公网 IP

    2022年2月19日
    69
  • 详解Cursor中接入DeepSeek-V3的两种方法

    详解Cursor中接入DeepSeek-V3的两种方法

    2026年3月16日
    1
  • 浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景

    浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景Mysql 共享锁 排他锁 悲观锁 乐观锁及其使用场景一 相关名词 表级锁 锁定整个表 页级锁 锁定一页 行级锁 锁定一行 共享锁 S 锁 MyISAM 叫做读锁 排他锁 X 锁 MyISAM 叫做写锁 悲观锁 抽象性 不真实存在这个锁 乐观锁 抽象性 不真实存在这个锁 二 InnoDB 与 MyISAMMysql 在 5

    2025年11月19日
    6

发表回复

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

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