- 浏览: 264835 次
- 性别:
- 来自: 南宁
文章分类
- 全部博客 (249)
- Memcached (6)
- 操作系统-Linux (18)
- 操作系统-Windows (2)
- JAVA-多线程 (6)
- Java-Web (46)
- Eclipse (19)
- Struts-Spring-Hibernate (25)
- 消息队列 (10)
- JBPM (3)
- 全文检索-Solr (2)
- WebService (3)
- 数据库-Oracle (9)
- 数据库-MySQL (14)
- 数据库-MS SQL (2)
- ESB(企业服务总线) (1)
- 前端技术 (9)
- 互联网安全技术 (1)
- 日志log4j (3)
- 分布式框架 (11)
- 版本控制-SVN (3)
- 版本控制-Git (5)
- Maven (11)
- 大数据-Hadoop (3)
- PHP (1)
- JAVA注解 (2)
- 系统架构 (1)
- 会话-权限-JWT (10)
- 定时任务 (1)
- 非技术 (1)
- Redis (5)
- Nginx (5)
- 云计算和虚拟化 (1)
- swagger (1)
- 移动端UI和框架 (5)
最新评论
-
lgh1992314:
applicationContext.xml 是 spring ...
Spring的applicationContext和spring-mvc.xml的区别
在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据我工作中用到的读取properties配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。
用spring读取配置文件,最典型的就是关于数据库的连接,下面就是一个例子:
文件jdbc.properties:
-------------------------------------------------------------------------------------
driverClassName com.mysql.jdbc.Driver
url jdbc:mysql://localhost:3306/test
username root
password 1234
------------------------------------------------------------------------------------
引入spring的相关jar包,在applicationContext.xml中配置:
-------------------------------------------------------------------------------------
<?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="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>src/jdbc.properties</value>
</property>
</bean>
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${driverClassName}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>${username}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>
<bean id="dao" class="com.zh.model.DataDAO">
<property name="datasource">
<ref local="datasource"/>
</property>
</bean>
</beans>
-----------------------------------------------------------------------------------------
DataDAO.java
package com.zh.model;
import javax.sql.DataSource;
public class DataDAO {
private DataSource datasource;
public DataSource getDatasource() {
return datasource;
}
public void setDatasource(DataSource datasource) {
this.datasource = datasource;
}
}
------------------------------------------------------------------------------------
测试连接是否成功,test.java
package com.zh.logic;
import java.sql.Connection;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.zh.model.DataDAO;
public class test {
public static void main(String [] args){
try{
String[] path = {"src/applicationContext.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(path);
DataDAO dao = (DataDAO)ctx.getBean("dao");
Connection con = dao.getDatasource().getConnection();
System.out.println(con.isClosed());
//System.out.print(dao.getName());
}catch(Exception ex){
ex.printStackTrace();
}
}
}
-------------------------------------------------------------------------------------
2.用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"));
--------------------------------------------------------------------------------------
上面介绍了读取properties的内容,现实中我们还有可能要修改文件的内容,下面就看下怎么修改properties的内容,文件还是上面那个:
package com.zh.logic;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Properties;
public class TestRead {
public void read(){
try {
InputStream in = this.getClass().getClassLoader().getResourceAsStream("config/host.properties");
Properties p = new Properties();
p.load(in);
//p.list(System.out);
System.out.println(p.getProperty("ip")+","+p.getProperty("username")+","+p.getProperty("pwd"));
} catch (Exception e) {
e.printStackTrace();
}
}
public void update(String path){
try{
Properties p = new Properties();
FileInputStream in = new FileInputStream(path);
p.load(in);
FileOutputStream out = new FileOutputStream(path);
p.setProperty("ip","1234567");
p.store(out,"ip update");
//p.save(out,"ip updated");
}catch(Exception ex){
ex.printStackTrace();
}
}
public static void main(String[] args){
TestRead td = new TestRead();
td.read();
td.update("config/host.properties");
td.read();
}
}
可以看见修改之前的和修改之后的内容有改变;在上面有点要注意的:
FileInputStream in = new FileInputStream(path);
p.load(in);
FileOutputStream out = new FileOutputStream(path);
就是p.load(in);要写在FileOutputStream out = new FileOutputStream(path);之前,不然的话,修改后的文件内容就成了ip=1234567,而port=8080这句被覆盖了;什么愿意大家自己想想吧;
上面介绍了两中读取properties文件的方法,希望对大家有帮助........
用spring读取配置文件,最典型的就是关于数据库的连接,下面就是一个例子:
文件jdbc.properties:
-------------------------------------------------------------------------------------
driverClassName com.mysql.jdbc.Driver
url jdbc:mysql://localhost:3306/test
username root
password 1234
------------------------------------------------------------------------------------
引入spring的相关jar包,在applicationContext.xml中配置:
-------------------------------------------------------------------------------------
<?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="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>src/jdbc.properties</value>
</property>
</bean>
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${driverClassName}</value>
</property>
<property name="url">
<value>${url}</value>
</property>
<property name="username">
<value>${username}</value>
</property>
<property name="password">
<value>${password}</value>
</property>
</bean>
<bean id="dao" class="com.zh.model.DataDAO">
<property name="datasource">
<ref local="datasource"/>
</property>
</bean>
</beans>
-----------------------------------------------------------------------------------------
DataDAO.java
package com.zh.model;
import javax.sql.DataSource;
public class DataDAO {
private DataSource datasource;
public DataSource getDatasource() {
return datasource;
}
public void setDatasource(DataSource datasource) {
this.datasource = datasource;
}
}
------------------------------------------------------------------------------------
测试连接是否成功,test.java
package com.zh.logic;
import java.sql.Connection;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.zh.model.DataDAO;
public class test {
public static void main(String [] args){
try{
String[] path = {"src/applicationContext.xml"};
ApplicationContext ctx = new FileSystemXmlApplicationContext(path);
DataDAO dao = (DataDAO)ctx.getBean("dao");
Connection con = dao.getDatasource().getConnection();
System.out.println(con.isClosed());
//System.out.print(dao.getName());
}catch(Exception ex){
ex.printStackTrace();
}
}
}
-------------------------------------------------------------------------------------
2.用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"));
--------------------------------------------------------------------------------------
上面介绍了读取properties的内容,现实中我们还有可能要修改文件的内容,下面就看下怎么修改properties的内容,文件还是上面那个:
package com.zh.logic;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Properties;
public class TestRead {
public void read(){
try {
InputStream in = this.getClass().getClassLoader().getResourceAsStream("config/host.properties");
Properties p = new Properties();
p.load(in);
//p.list(System.out);
System.out.println(p.getProperty("ip")+","+p.getProperty("username")+","+p.getProperty("pwd"));
} catch (Exception e) {
e.printStackTrace();
}
}
public void update(String path){
try{
Properties p = new Properties();
FileInputStream in = new FileInputStream(path);
p.load(in);
FileOutputStream out = new FileOutputStream(path);
p.setProperty("ip","1234567");
p.store(out,"ip update");
//p.save(out,"ip updated");
}catch(Exception ex){
ex.printStackTrace();
}
}
public static void main(String[] args){
TestRead td = new TestRead();
td.read();
td.update("config/host.properties");
td.read();
}
}
可以看见修改之前的和修改之后的内容有改变;在上面有点要注意的:
FileInputStream in = new FileInputStream(path);
p.load(in);
FileOutputStream out = new FileOutputStream(path);
就是p.load(in);要写在FileOutputStream out = new FileOutputStream(path);之前,不然的话,修改后的文件内容就成了ip=1234567,而port=8080这句被覆盖了;什么愿意大家自己想想吧;
上面介绍了两中读取properties文件的方法,希望对大家有帮助........
发表评论
-
SpringBoot使用@Value给静态变量注入值
2019-07-15 14:03 677SpringBoot中使用@Value()只能给普通变量注入 ... -
Hibernate @Column、columnDefinition等简介(注意日期类型)
2018-09-18 14:28 950主要包括: @Id、@Gener ... -
@Value("#{}")与@Value("${}")的区别
2018-09-17 13:14 4301 @Value("#{}") Sp ... -
spring boot 整合jsp
2018-07-20 11:34 4241.idea在工程源文件夹src/main/下创建web资源 ... -
Hibernate配置打印sql语句和参数
2018-05-08 16:10 1793在Hibernate的配置文件hibernate.cfg. ... -
使用JPA查询后,设置属性会执行update语句
2017-04-16 16:52 2590做项目时,发现一个问题,一个查询用户的语句,查询结果 ... -
@PathVariable和@RequestParam的区别
2016-10-10 15:43 979请求路径上有个id的变量值,可以通过@PathVariabl ... -
Spring中拦截/和拦截/*的区别以及不拦截资源文件的解决方案
2016-10-10 15:34 975一、我们都知道在基于Spring的Application中 ... -
annotation-driven、DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter
2016-08-06 14:08 846DefaultAnnotationHandlerMa ... -
<context:component-scan>使用说明(转)
2016-08-05 17:40 742在xml配置了这个标签后,spring可以自动去扫描ba ... -
Spring的applicationContext和spring-mvc.xml的区别
2016-08-05 17:16 1454applicationcontext.xml一般里面是配置d ... -
hibernate造成的存取中文乱码问题解决办法
2015-06-11 13:39 584找到此属性: <property name=&qu ... -
Spring事务配置的五种方式
2015-06-05 09:43 470前段时间对Spring的事务配置做了比较深入的研究,在此之间 ... -
Hibernate各种主键生成策略与配置详解
2015-06-05 09:26 6761、assigned 主键由外部程序负责生成,在 s ... -
Spring取得Bean(Spring管理下和非Spring管理下)
2015-06-04 02:21 3156BeanFactory为一个管理bean的工厂(即为spri ... -
Spring配置:用context:property-placeholder替换PropertyPlaceholderConfigurer
2015-06-04 01:59 1729有时候需要从properties文件中加载配置,以前的方 ... -
SpringMVC中的HandlerMapping、ModelAndView、Adapter
2015-06-04 00:31 1777一、原始代码(不用注解的情况) (1)web.xml配置 ... -
springMVC教程-快速入手-深入分析
2015-06-04 00:08 721作者:赵磊 博客:http://elf8848.itey ... -
处理No adapter for handler异常
2015-05-29 18:47 1512出现报错: No adapter for handler ... -
DispatcherServlet详解
2015-05-29 18:44 6263.1、DispatcherServlet作用 Di ...
相关推荐
spring读取properties配置文件的key值。
springboot读取配置文件.rar springboot读取配置文件.rar springboot读取配置文件.rar
本篇文章主要介绍了Spring中配置和读取多个Properties文件的方式方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
properties_read_demo.zip
主要介绍了Spring中属性文件properties的读取与使用详解的相关资料,需要的朋友可以参考下
今天小编就为大家分享一篇关于Spring加载配置和读取多个Properties文件的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
osgi多个bundle之间读取同一配置文件,需要单独添加一个用来读取配置文件的bundle
主要介绍了Spring Boot的properties配置文件读取,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
之前的系统用的是Spring框架,国际化还是比较简单的。但是有一些提示是写在js文件里面的,搜了一些,发现一个js国际化的框架jquery.i18n.properties.js,用了一些还是比较方便的。
Spring配置文件中注册三种数据源及从属性文件中读取DB连接四要素
主要介绍了Spring Boot中配置文件application.properties使用及spring boot读取application.properties文件的方式,需要的朋友参考下吧
主要介绍了在SpringBoot下读取自定义properties配置文件的方法,文中涉及到了Spring-boot中读取config配置文件的两种方式,需要的朋友可以参考下
在本文中我们给大家整理了关于Spring Boot 的配置文件 application.properties的相关知识点内容,需要的朋友们参考学习下。
1、在maven工程导入spring坐标 2、dao层的内容与结构 接口 实现类 3、server层的内容与结构 4、创建properties文件 5、配置文件样式 标签头代码:
更改“自定义变量”使用“远程配置读取”方式的规则,["dev","test","real"]远程读取,其他则配置文件读取。 更改“全局变量”jsp获取方式。 读取tool-common中的ProjectConstant.onlineEnvSet用于区别线上环境。 ...
spring boot 配置文件
背景在 Spring 项目中,你可能需要从 properties 文件中读入配置注入到 bean 中,例如数据库连接信息,redis server的地址端口信息
如果不想使用默认的application.properties,而想将属性文件放到jar包外面,怎么做呢?下面小编给大家带来了两种方法解决Spring Boot 把配置文件和日志文件放到jar外部问题,感兴趣的朋友一起看看吧
SpringBoot配置文件类型 SpringBoot配置文件类型和作用: SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用 application.properties或者application.yml...
1.28 Spring Boot使用自定义的properties 1.29 改变自动扫描的包 1.30 Spring Boot Junit单元测试 1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖...