一.读取xml配置文件
(一)新建一个java bean(HelloBean. java)
java代码
(二)构造一个配置文件(beanConfig.xml)
xml 代码
(三)读取xml文件
1.利用
java代码
2.利用FileSystemResource读取
java代码
二.读取properties配置文件
这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取
(一)利用spring读取properties 文件
我们还利用上面的HelloBean. java文件,构造如下beanConfig.properties文件:
properties 代码
helloBean.class=chb.demo.vo.HelloBean
helloBean.helloWorld=Hello!chb!
属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。
然后利用org.springframework.beans.factory.support.来读取属性文件
java代码
(二)利用java.util.Properties读取属性文件
比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:
properties 代码
ip=192.168.0.1
port=8080
三.读取位于Jar包之外的properties配置文件
下面仅仅是列出读取文件的过程,剩下的解析成为properties的方法同上
1 FileInputStream reader = new FileInputStream("config.properties");
2 num = reader.read(byteStream);
3 ByteArrayInputStream inStream = new ByteArrayInputStream(byteStream, 0, num);
四.要读取的配置文件和类文件一起打包到一个Jar中
String currentJarPath = URLDecoder.decode(YourClassName.class.getProtectionDomain().getCodeSource().getLocation().getFile(), "UTF-8"); //获取当前Jar文件名,并对其解码,防止出现中文乱码
JarFile currentJar = new JarFile(currentJarPath);
JarEntry dbEntry = currentJar.getJarEntry("包名/配置文件");
InputStream in = currentJar.getInputStream(dbEntry);
//以上YourClassName是class全名,也就是包括包名
修改:
JarOutputStream out = new FileOutputStream(currentJarPath);
out.putNextEntry(dbEntry);
out.write(byte[] b, int off, int len); //写配置文件
。。。
out.close();
⑵ springboot读取外部文件(springboot读取文件内容)
springboot-项目获取resources下文件的方法解决乱码1、基于这两个问题,一一解决。以上static/model/pztjmodel.xls这个路径是从resources目录下开始的。这个在打完包之后仍然可以。
2、解决方法:我用的是IDEA,首先File-settings-Codestyle-FileEncoding把所有的编码都设为UTF-8就好了。
3、在java中,resources文件夹下的文件在编译后,都是为根目录(classpath)。
SpringBoot配置文件存放位置以及读取顺序SpringBoot系统启动时默认会读取的配置文件,支持propertiesyml格式。也就是说,会先加载application.properties,根据spring.profile.active的设置加载相应的application-XX.properties配置,然后按优先级合并配置文件。
使用springboot的方式,此种方式jar需要放到前面格式例如以jar包发布springboot项目时,默认会先使用jar包同级目录下的application.properties来作为项目配置文件。
application.properties中:server.port=8001,application.yml中:server.port=8888。问题:springboot是否都加载这两个配置文件?如果两个文件有相同的key,取哪一个文件的value?都加载,且按properties→yml的顺序加载。
Springboot配置文件读取-ConfigFileApplicationListener
至此,整个environment的配置加载过程就完成了。
idea中,为了我们本地方便开发测试,我们在此处创建一个config目录,然后把application.properties放进去,项目正常运行。jar包会自动生成在target目录下。
常见的读取配置的方式有三种:第@Value注解,比较常用的一种方式。
配置文件SpringBoot使用一个全局的配置文件application.propertiesapplication.yml配置文件的作用:修改SpringBoot自动配置的默认值,SpringBoot在底层都给我们自动配置好。
SpringBoot的参数配置除了使用properties文件之外,还可以使用yml文件。如果你喜欢用yml格式的配置文件可以将application.properties修改为application.yml。SpringBoot应用程序有多种设置途径。
SpringBoot读取配置数据的几种方式1、常见的读取配置的方式有三种:第@Value注解,比较常用的一种方式。
2、springboot支持多种配置文件读取方式,了解这些方式有助于查询和定位问题以及选择合适的方式进行开发。
3、使用开发工具创建一个纯净maven工程删除配置spring-biz.xml并且新增如下配置:本文梳理了SpringBoot六种读取配置方式,大家在项目中可以进行灵活组合和应用,希望本文对大家有所帮助。
4、springboot中有三种方式可以获取yml配置文件中的配置内容。
5、nacos在springboot启动的时候已经把所有配置文件都注入到了spring里。
⑶ java读取配置文件的方法(xml)
用的是jdom包
URL url = RederXml.class.getClassLoader().getResource("");
String path = url.toString() + "/config.xml";\\工程种xml的路径
HashMap<String, String> map = new HashMap<String, String>();
SAXBuilder sax = new SAXBuilder();
Document doc = null;
try {
doc = sax.build(path);
} catch (JDOMException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Element root = doc.getRootElement();
⑷ JAVA的config.properties 放在WEB项目什么地方到底怎么读取
看不太懂你的意思,猜想你是希望通过相对路径访问你的*.properties文件。你说你把文件放到了WEB根目录中,那么我可以这样获得Properties对象
//servlet中
String realPath = this.getServletContext().getRealPath("/config.properties");//这个路径是相对于Web程序的,如果你放在WEB-INF目录中就是"/WEB-INF/config.properties"
InputStream in = new FileInputStream(realPath);//获得*.properties文件的读取流对象
Properties p = new Properties();
p.load(in);
⑸ Java-Config 入门教程
JavaConfig入门教程要点如下:
JavaConfig简介:
创建配置类:
使用@Bean注解:
替换上下文类:
移除XML文件:
JavaConfig的优势:
后续学习方向: