`
zhuyx808
  • 浏览: 120962 次
  • 性别: Icon_minigender_1
  • 来自: 快来看~天上米有灰机
社区版块
存档分类
最新评论

读取配置文件(简单IOC)

    博客分类:
  • JAVA
阅读更多

IDeviceWriter.java

package spring;

public interface IDeviceWriter {
        public void saveToDevice();
}


Business.java

package spring;

public class Business {
     private IDeviceWriter writer;

     public void setDeviceWriter(IDeviceWriter writer) {
             this.writer = writer;
     }
     public void save(){
            //...
           writer.saveToDevice();
      }
}






FloppyWriter.java

package spring;

public class FloppyWriter implements IDeviceWriter {

 @Override
 public void saveToDevice() {
  // TODO Auto-generated method stub
  //实际存储代码
  System.out.print("A盘存储");
 }




}
UsbDiskWriter.java

package spring;

public class UsbDiskWriter implements IDeviceWriter {

 @Override
 public void saveToDevice() {
  // TODO Auto-generated method stub
  //实际存储代码
  System.out.print("U盘存储");
 }




}
BusinessFactory.java

package spring;

import java.io.FileInputStream;
import java.util.Properties;

public class BusinessFactory {
 private static BusinessFactory factory;
 private Properties props;
 private Business business;
 private IDeviceWriter writer;
 private BusinessFactory()throws Exception{
  props=new Properties();
  props.load(new FileInputStream("config.properties"));
  String businessClass=props.getProperty("business.class");
  String writerClass=props.getProperty("writer.class");
  business=(Business)Class.forName(businessClass).newInstance();
  writer=(IDeviceWriter)Class.forName(writerClass).newInstance();
  business.setDeviceWriter(writer);
 }
 public static BusinessFactory getInstance()throws Exception{
  if(factory==null){
   factory=new BusinessFactory();
  }
  return factory;
 }
 public Business getBusiness(){
  return business;
 }
 public IDeviceWriter getWriter(){
  return writer;
 }
}


























config.properties

business.class=spring.Business
writer.class=spring.UsbDiskWriter

Test.java

package test;

import spring.Business;
import spring.BusinessFactory;

public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) throws Exception{
  // TODO Auto-generated method stub
  Business business=BusinessFactory.getInstance().getBusiness();
  business.save();
 }






}

分享到:
评论

相关推荐

    16-IoC配置-读取properties文件信息

    1、在maven工程导入spring坐标 2、dao层的内容与结构 接口 实现类 3、server层的内容与结构 4、创建properties文件 5、配置文件样式 标签头代码:

    java练习之模拟SPRING IOC,我的SUMMER

    练习共三部分: 1、XML读取,用于配置文件读取 2、模拟SPRING IOC 3、模拟STRUTS

    17 Spring IoC容器如何读取多个属性文件或者配置文件?慕课专栏(1)1

    背景在 Spring 项目中,你可能需要从 properties 文件中读入配置注入到 bean 中,例如数据库连接信息,redis server的地址端口信息

    SSM框架配置文件

    其中spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 MyBatis是一个支持普通SQL查询,存储...

    IOC控制反转代码,bilibili配套文件

    ClassPathXmlApplicationContext 是一种实现方式,它用于指明 IOC 容器要读取哪个 XML 文件。 在 XML 文件中,我们可以定义多个Bean,每个 Bean 都是一种对象的实例。例如,在上面的 XML 文件中,我们定义了一个名...

    自己动手做框架(27)——配置IOC框架.rar

    自己动手做框架(27)——配置IOC框架 重点:配置IOC框架,并且读取xml文件。 难点:实现依赖注入的配置: 最新最全java架构师视频

    java练习之XML读取

    JAVA练习之XML读取,此代码将在模拟SPRING IOC 和 STRUTS中使用 共三部分: 1、XML读取,用于配置文件读取 2、模拟SPRING IOC 3、模拟STRUTS

    18 Spring IoC容器如何读取应用外部的xml,txt,图形或者属性文件?慕课专栏(1)1

    背景我们使用 Spring IoC 容器的时候,配置文件一般是放到到应用内部,如下所示:我们往往使用 ClassPathXmlApplicationContex

    尚硅谷]_佟刚_Spring IOC 容器中 Bean 的生命周期.pdf

    3、import用于导入其他配置文件的Bean定义,这是为了加载多个配置文件,当然也可以把这些配置文件构造为一个数组(new String[] {“config1.xml”, config2.xml})传给ApplicationContext实现进行加载多个配置文件,...

    程序间耦合.docx

    关于SpringIOC控制反转的笔记。获取spring的Ioc核心容器,并根据id获取对象 * * ApplicationContext的三个常用实现类: * ...也就是说,只要一读取完配置文件马上就创建配置文件中配置的对象。 *

    Spring IOC的快速入门案例

    Spring IOC的快速入门案例 >下载Spring的开发包 ...目录结构: docs : API文档和开发规范 libs : 开发需要的jar包、源...>在程序中读取Spring配置文件,通过Spring框架获得Bean,完成相应操作 Spring 4.x的目录结构  

    力扣题目思路总结概要11

    力扣题目思路总结概要11 ...5. 读取配置文件中的值 总结 本文档总结了 Spring 框架中的 IOC 容器、Bean 管理、依赖注入和注解配置的相关知识点。这些知识点可以帮助开发人员更好地理解和使用 Spring 框架。

    将Abp移植进.NET MAUI项目(一):搭建项目.doc

    然后,在 Boilerplate.Core 项目中新建 BoilerplateBuilderExtensions.cs 作为程序入口,并添加一个静态方法 InitConfig,用于读取项目的配置文件 appsettings.json,若第一次运行或者该文件不存在则读取默认的配置...

    pip-services3-container-go:Go中Pip.Services的IoC容器

    容器可以从JSON或YAML文件读取配置,并将其用作实例化和配置组件的配方。 组件工厂用于根据容器配置中定义的它们的定位符(描述符)来创建组件。 工厂应在容器中注册,或在容器配置文件中动态注册。 该模块包含...

    00-myspring.war

    初始化阶段:重写Servlet的init方法,实现加载配置文件,读取配置信息, 扫描所有相关的类, 初始化相关类的实例并保存到IOC容器, 从IOC容器取出对应的实例给字段赋值,即依赖注入, 最后将url和Method进行关联。...

    Unity类库文件

    7.Unity可以从标准配置系统中读取配置信息,例如:XML文件,同时使用配置文件来配置容器。 8.Unity支持开发者实现自定义容器扩展,例如:你可以实现方法来允许额外的对象构造和容器特征,例如缓存。 9.Unity允许架构...

    java练习之模拟STRUTS,我的LOGICER

    共三部分: 1、XML读取,用于配置文件读取 2、模拟SPRING IOC 3、模拟STRUTS 练习:数据库连接池、XML读取、SPRING IOC、STRUTS都模拟了代码。现在可以使用这四部分代码实践在项目中了! 代码仅作参考

    Android项目源码ThinkAndroid开发框架.zip

    ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent...

    双数据源实现数据库转换.zip

    @ConfigurationProperties:将配置文件中的数据源读取进到方法中,进行build ———————————————— 版权声明:本文为CSDN博主「To Believe Me」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文...

    Android ThinkAndroid开发框架.zip

    ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent...

Global site tag (gtag.js) - Google Analytics