时间:2021-05-20
一个系统中通常会存在如下一些以Properties形式存在的配置文件
1.数据库配置文件demo-db.properties:
database.url=jdbc:mysql://localhost/smaple database.driver=com.mysql.jdbc.Driver database.user=root database.password=1232.消息服务配置文件demo-mq.properties:
#congfig of ActiveMQ mq.java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory mq.java.naming.provider.url=failover:(tcp://localhost:61616?soTimeout=30000&connectionTimeout=30000)?jms.useAsyncSend=true&timeout=30000 mq.java.naming.security.principal= mq.java.naming.security.credentials= jms.MailNotifyQueue.consumer=53.远程调用的配置文件demo-remote.properties:
remote.ip=localhost remote.port=16800 remote.serviceName=test一、系统中需要加载多个Properties配置文件
应用场景:Properties配置文件不止一个,需要在系统启动时同时加载多个Properties文件。
配置方式:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://ponentpublic class MySQLConnectionInfo { @Value("#{configProperties['mysql.url']}") private String url; @Value("#{configProperties['mysql.userName']}") private String userName; @Value("#{configProperties['mysql.password']}") private String password; /** * @return the url */ public String getUrl() { return url; } /** * @return the userName */ public String getUserName() { return userName; } /** * @return the password */ public String getPassword() { return password; }}自动注入需要使用@Value注解,这个注解的格式#{configProperties['mysql.url']}其中configProperties是我们在appContext.xml中配置的beanId,mysql.url是在properties文件中的配置项。
properties文件的内容如下:
mysql.url=mysql's urlmysql.userName=mysqlUsermysql.password=mysqlPassword最后我们需要测试一下以上写法是否有问题,如下App.java文件内容:
package cn.outofmemory.hellospring.properties.annotation;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * Hello world! * */public class App { public static void main( String[] args ) { ApplicationContext appContext = new ClassPathXmlApplicationContext("appContext.xml"); MySQLConnectionInfo connInfo = appContext.getBean(MySQLConnectionInfo.class); System.out.println(connInfo.getUrl()); System.out.println(connInfo.getUserName()); System.out.println(connInfo.getPassword()); }}在main方法中首先声明了appContext,然后获得了自动注入的MySQLConnectionInfo的实例,然后打印出来,运行程序会输出配置文件中配置的值
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
有些时候,我们需要以Spring代码直接读取properties配置文件,那么我们要如何操作呢?下面我们来看看具体内容。我们都知道,Spring可以@Value
spring多文件配置:1、properties文件2、YAML文件一、properties文件在SpringBoot中,多环境配置的文件名需要满足applic
一、@Value读取application.properties配置文件中的值application.properties配置文件fileName=config
SpringBoot工程默认读取application.properties配置文件。如果需要自定义properties文件,如何读取呢?一、在resource
Spring中属性文件properties的读取与使用详解实际项目中,通常将一些可配置的定制信息放到属性文件中(如数据库连接信息,邮件发送配置信息等),便于统一