Java中spring读取配置文件的几种方法

如题所述

Java中spring读取配置文件的几种方法如下:
一、读取xml配置文件
(一)新建一个java bean
package chb.demo.vo;
public class HelloBean {
private String helloWorld;
public String getHelloWorld() {
return helloWorld;
}
public void setHelloWorld(String helloWorld) {
this.helloWorld = helloWorld;
}
}
(二)构造一个配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
<beans>
<bean id="helloBean" class="chb.demo.vo.HelloBean">
<property name="helloWorld">
<value>Hello!chb!</value>
</property>
</bean>
</beans>
(三)读取xml文件
1.利用ClassPathXmlApplicationContext
ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");
//这种用法不够灵活,不建议使用。
HelloBean helloBean = (HelloBean)context.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
2.利用FileSystemResource读取
Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");
BeanFactory factory = new XmlBeanFactory(rs);
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常。
二、读取properties配置文件
这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取
(一)利用spring读取properties 文件
我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:
helloBean.class=chb.demo.vo.HelloBean
helloBean.helloWorld=Hello!chb!
属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。
然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件
BeanDefinitionRegistry reg = new DefaultListableBeanFactory();
PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);
reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));
BeanFactory factory = (BeanFactory)reg;
HelloBean helloBean = (HelloBean)factory.getBean("helloBean");
System.out.println(helloBean.getHelloWorld());
(二)利用java.util.Properties读取属性文件
比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:
ip=192.168.0.1
port=8080
则,我们可以用如下程序来获得服务器配置信息:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");
Properties p = new Properties();
try {
p.load(inputStream);
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port"));
三 、用接口类WebApplicationContext来取。
private WebApplicationContext wac;
wac =WebApplicationContextUtils.getRequiredWebApplicationContext(
this.getServletContext());
wac = WebApplicationContextUtils.getWebApplicationContext(
this.getServletContext());
JdbcTemplate jdbcTemplate = (JdbcTemplate)ctx.getBean("jdbcTemplate");
其中,jdbcTemplate为spring配置文件中的一个bean的id值。

这种用法比较灵活,spring配置文件在web中配置启动后,该类会自动去找对应的bean,而不用再去指定配置文件的具体位置。
温馨提示:内容为网友见解,仅供参考
无其他回答

spring读取配置文件的方式(spring如何读取配置文件)
java读取配置文件的几种方法如下:方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。注释注入(Annotation-basedInjection)是通过Java5的注解来代替XML配置文件,在Java类中添加相应的注解,Spring将会读取该注解并注入到相应的Bean中。配置文件SpringBoot使用一个全局的配置文件app...

Spring Boot读取配置4种方式,建议收藏!
首先,Value注解是处理单一配置项的首选方式。开发者可在application.properties文件中设定配置项,随后在Java代码中通过Value注解轻松读取配置值。验证步骤通常包括请求应用接口,如GET http:\/\/localhost:8089\/configuration\/index,以确保配置正确加载。对于一组具有相同前缀的配置项,ConfigurationProperties注解提供...

Spring Boot读取properties配置文件中的数据
1. 使用@Value注解读取 在读取properties配置文件时,默认读取的是application.properties。application.properties:Java代码:运行结果如下:如果需要将部分数据放到一个单独的类A中进行读取,然后在类B中调用,则需要在类A上添加@Component注解,并在类B中使用@Autowired自动装配类A,代码如下。类A:类B:...

springboot读取配置(springboot读取配置文件)
springboot获取复杂的list配置文件1、我们在使用@ConfigurationProperties(prefix=system)读取yml配置文件过程中会遇到读取yml文件中列表。如:yml文件设置访问白名单,Config里面使用List集合接收。方法比较简单。2、配置文件SpringBoot使用一个全局的配置文件application.propertiesapplication.yml配置文件的作用:修改S...

五种方式让你在java中读取properties文件内容不再是难题
五种实现方式详解 1. **通过context:property-placeholder加载配置文件 使用``加载配置文件,简化配置。注意:在`spring-mvc.xml`文件中进行配置时,确保使用`context:component-scan`标签,并设置`use-default-filters="false"`,以避免不必要的加载。2. **使用注解注入 在代码中使用`@Value`注解注入...

java 怎么读取配置文件
(一)新建一个java bean(HelloBean. java)java代码 (二)构造一个配置文件(beanConfig.xml)xml 代码 (三)读取xml文件 1.利用ClassPathXmlApplicationContext java代码 2.利用FileSystemResource读取 java代码 二.读取properties配置文件 这里介绍两种技术:利用spring读取properties 文件和利用java.util....

springboot.yml和.properties配置文件的加载顺序?
在Java开发中,配置文件是存储程序配置信息的关键载体,常见的配置文件格式包括.properties、.yml等。Properties类是Java集合库提供的一种用于处理key-value形式配置信息的工具,其内部基于Hashtable实现,提供如getProperty()、setProperty()等方法来读写配置。配置文件通常包含键值对信息,如数据库连接信息、邮件...

Springboot打成JAR包后读取外部配置文件
自定义jar目前只能读取application.properties和application.yml吧。可以用一个简单点的方法进行监听注入,在工具包内写一个init方法,在springboot启动时初始化就可以了。比如springboot启动完成后读取配置文件,然后注入到工具包内。以jar包发布springboot项目时,默认会先使用jar包同级目录下的application....

Spring加载配置文件(org.springframework.beans.factory.BeanDefiniti...
1、首先手动加载Spring配置文件有两个类,分别是ClassPathXmlApplicationFileSystemXmlApplicationContext;两个类的区别。2、然后就是“classpath:” 是可以缺省的。如果是绝对路径,就需要加上 “file:” 前缀,注意的是不可缺省FileSystemXmlApplicationContext的。3、最后就是通过 @PropertySource 注解,这...

spring java 中怎么读取properties
1 反射方式获取properties文件最常用方法以及思考:Java读取properties文件的方法比较多,网上最多的文章是"Java读取properties文件的六种方法",但在Java应用中,最常用还是通过java.lang.Class类的getResourceAsStream(String name) 方法来实现,但我见到众多读取properties文件的代码中,都会这么干:InputStream...

相似回答