`

读取spring文件的方法总结

    博客分类:
  • java
阅读更多

java读取配置文件的几种方法
        在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法。
一.读取xml配置文件

    (一)新建一个java bean(HelloBean.java)
    java 代码

       1. package chb.demo.vo;  
       2.  
       3. public class HelloBean {  
       4.  private String helloWorld;  
       5.  
       6.  public String getHelloWorld() {  
       7.   return helloWorld;  
       8.  }  
       9.  
      10.  public void setHelloWorld(String helloWorld) {  
      11.   this.helloWorld = helloWorld;  
      12.  }  
      13. }  
      14.  

    (二)构造一个配置文件(beanConfig.xml)
    xml 代码

       1. xml version="1.0" encoding="UTF-8"?> 
       2. > 
       3. <beans> 
       4.  <bean id="helloBean" class="chb.demo.vo.HelloBean"> 
       5.   <property name="helloWorld"> 
       6.    <value>Hello!chb!value> 
       7.   property> 
       8.  bean> 
       9. beans> 

    (三)读取xml文件
    1.利用ClassPathXmlApplicationContext
    java 代码

       1. ApplicationContext context = new ClassPathXmlApplicationContext("beanConfig.xml");  
       2. HelloBean helloBean = (HelloBean)context.getBean("helloBean");  
       3. System.out.println(helloBean.getHelloWorld()); 

    2.利用FileSystemResource读取
    java 代码

       1. Resource rs = new FileSystemResource("D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml");  
       2.   BeanFactory factory = new XmlBeanFactory(rs);  
       3.   HelloBean helloBean = (HelloBean)factory.getBean("helloBean");\  
       4.   System.out.println(helloBean.getHelloWorld());  

     值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常

二.读取properties配置文件

    这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取
    (一)利用spring读取properties 文件
    我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:
    properties 代码

       1. helloBean.class=chb.demo.vo.HelloBean  
       2. helloBean.helloWorld=Hello!chb! 

    属性文件中的"helloBean"名称即是Bean的别名设定,.class用于指定类来源。
    然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件
    java 代码

       1. BeanDefinitionRegistry reg = new DefaultListableBeanFactory();  
       2.  PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);  
       3.  reader.loadBeanDefinitions(new ClassPathResource("beanConfig.properties"));  
       4.  BeanFactory factory = (BeanFactory)reg;  
       5.  HelloBean helloBean = (HelloBean)factory.getBean("helloBean");  
       6.  System.out.println(helloBean.getHelloWorld());  

    
    (二)利用java.util.Properties读取属性文件
    比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:
    properties 代码

       1. ip=192.168.0.1  
       2. port=8080 

    则,我们可以用如下程序来获得服务器配置信息:
    java 代码

       1. InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ipConfig.properties");  
       2.   Properties p = new Properties();  
       3.   try {  
       4.    p.load(inputStream);  
       5.   } catch (IOException e1) {  
       6.    e1.printStackTrace();  
       7.   }  
       8. System.out.println("ip:"+p.getProperty("ip")+",port:"+p.getProperty("port")); 

分享到:
评论

相关推荐

    SpringCloud消息总线RabbitMQ+Bus-Refresh接口触发所有config-client自动重新读取配置文件

    实践方志鹏博客搭建Springcloud+RabbitMQ+Config-client+config-server Eureka-server的微服务架构,通过/bus/refresh接口触发所有config-client自动从config-server重新读取配置文件。SpringCloud和SpringBoot版本...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...

    Spring 2.0 开发参考手册

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form...

    Spring.3.x企业应用开发实战(完整版).part2

    2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 2.3.2 UserDao 2.3.3 LoginLogDao 2.3.4 在Spring中装配DAO 2.4 业务层 2.4.1 UserService 2.4.2 在Spring中装配Service 2.4.3 单元测试 2.5 展现层 ...

    Spring中文帮助文档

    3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-based)的配置 3.11.1. @Autowired 3.11.2. 基于注解的自动连接微调 3.11.3. CustomAutowireConfigurer 3.11.4. @...

    spring chm文档

    13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form...

    Spring API

    3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-based)的配置 3.11.1. @Autowired 3.11.2. 基于注解的自动连接微调 3.11.3. CustomAutowireConfigurer 3.11.4. @...

    Spring+Hibernate+MySql的应用实例

    实现了Spring+Hibernate+MySql的融合,通过部分修改调整,可以直接运行.本人亲自测试过,总结和不能运行原因已归纳在文件中

    Java Spring 源码解析 Xmind 思维导图

    Java Spring 源码解析 Xmind 思维导图。 Spring源码解析Xmind思维导图,阅读spring源码之后整理的。包括源码流程、时序图、bean生命周期等等总结 spring java

    Hbase+Spring boot实战分布式文件存储

    12-1 Bucket管理模块开发 12-2 HDFS和HBASE操作类1 12-3 HDFS和HBASE操作类2 12-4 Hos文件管理模块实体类开发 12-5 Hos创建删除Bucket方法开发 12-6 Hos上传文件方法开发 12-7 Hos获取文件方法开发 12-8 Hos删除...

    Spring3.x企业应用开发实战(完整版) part1

    2.2.3 类包及Spring配置文件规划 2.3 持久层 2.3.1 建立领域对象 2.3.2 UserDao 2.3.3 LoginLogDao 2.3.4 在Spring中装配DAO 2.4 业务层 2.4.1 UserService 2.4.2 在Spring中装配Service 2.4.3 单元测试 2.5 展现层 ...

    springmybatis

    后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. ...

    一文总结Spring 注解及作用详解

    文章目录开启注解扫描配置@RequestMapping声明bean的注解注入bean的注解spring配置文件中读取properties配置文件j配置类相关注解切面(AOP)相关注解@Bean的属性支持@Value注解环境切换异步相关定时任务相关@Enable*...

    ssh(structs,spring,hibernate)框架中的上传下载

     文件数据存储在Blob类型的FILE_CONTENT表字段上,在Spring中采用OracleLobHandler来处理Lob字段(包括Clob和Blob),由于在程序中不需要引用到oracle数据驱动程序的具体类且屏蔽了不同数据库处理Lob字段方法上的...

    Spring面试题

    在对由三部分组成的 Spring 系列 的第 1 部分进行总结时,我使用了一个示例,演示了如何通过 Spring IOC 容器注入应用程序的依赖关系(而不是将它们构建进来)。 我用开启在线信用帐户的用例作为起点。对于该实现,...

    基于SSM框架的CRUD操作实战源码学习与总结

    项目概述:本项目致力于SSM(Spring、SpringMVC、MyBatis)框架的应用实战,通过一个完整的CRUD(创建、读取、更新、删除)操作示例进行学习总结。项目主要采用Html作为前端展示语言,同时融合了Java、JavaScript、...

    看透springMvc源代码分析与实践

    8.2.2 创建Spring MVC的xml配置文件85 8.2.3 创建Controller和view86 8.3 关联spring源代码87 8.4 小结89 第9章 创建Spring MVC之器90 9.1 整体结构介绍90 9.2 HttpServletBean93 9.3 FrameworkServlet95 ...

    travel:黑马旅游网项目

    SQL数据库文件在resources文件夹下 登录注册功能 注册需要发送邮件激活,发送需要需要先修改自己的代码设置自己邮箱的地址和授权码。 为了保证账户激活的唯一性设置了32随机码 网站首页的分类数据是从数据库中读出的...

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    应用程序通过读取配置文件来获取到指定名称的类的字节码文件并加载其中的内容进行调用,对一个类文件进行解剖,就可以取得任意一个已知名称的class的内部信息,包括其modifiers(诸如public,static等等)、...

    robotics-spring-21

    项目总结 该项目的目的是建立一个搜索救援机器人,该机器人可以监视部署地点的状况并检测附近区域的气体。机器人应该能够提供其所在区域的实时视频供稿,并将传感器数据提供给与机器人相连的android应用。还将有一架...

Global site tag (gtag.js) - Google Analytics