`
zhuyx808
  • 浏览: 123374 次
  • 性别: 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();
 }






}

分享到:
评论

相关推荐

    spring读取jar中的配置文件

    当我们的应用程序被打包成JAR文件后,有时我们需要从JAR内部读取配置文件,例如application.properties或application.yml。本文将深入探讨如何在Spring框架中实现这一功能。 首先,理解Spring的资源配置。Spring...

    15.简单读取 json 配置文件.pdf

    在.NET Core项目的Program.cs文件中,需要编写代码来读取配置文件。具体的步骤如下: - 创建ConfigurationBuilder实例,并通过SetBasePath和AddJsonFile方法设置配置文件的基础路径和文件名。 - 使用Build方法构建...

    java读取.properties配置文件的几种方法

    如果你的项目使用了Spring框架,可以利用其强大的IoC容器来读取配置文件。 ```java import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org....

    spring IOC容器依赖注入XML配置

    容器通过读取XML配置文件来创建、初始化对象,并根据配置自动装配对象之间的依赖。这样,开发者无需在代码中手动创建和管理对象,而是由Spring容器负责,从而降低了耦合度。 XML配置是Spring早期的主要配置方式,...

    c# 简单的IOC实现框架,包含通过配置,利用c#反射机制来动态注入

    4. **反射机制**:在应用程序启动时,读取配置文件并使用C#的反射API创建对象实例。反射允许我们在运行时动态加载类型,并创建其实例。 ```csharp using System.Configuration; using System.Reflection; // 读取...

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

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

    spring 配置文件 归类

    本篇文章将深入探讨Spring配置文件中的归类,主要包括IOC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)两个重要概念。 ### 1. IOC (控制反转) IOC是Spring的核心特性,...

    一个简单的模仿spring的ioc实现

    1. **解析配置文件**:读取XML或自定义格式的配置文件,提取"id"、"class"、"name"和"ref"等信息。 2. **创建Bean工厂**:根据解析的信息,创建一个容器(如Map)来存储Bean的定义,每个定义包含对象的类信息和可能...

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

    然而,有时我们需要从应用外部读取配置文件,比如`xml`、`txt`、属性文件或者是网络上的资源。这时,我们可以使用`FileSystemXmlApplicationContext`来实现这个功能。 首先,让我们来看看如何使用`...

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

    当涉及到配置管理时,Spring提供了强大的能力来读取和处理多个属性文件,以便将这些配置信息注入到bean中。在不同的Spring版本中,加载多个属性文件的方法有所不同。以下是针对不同版本Spring加载多个属性文件的详细...

    自己实现ioc实例demo

    1. **创建XML配置文件**:配置文件通常包含类的声明及其依赖关系。例如: ```xml ``` 2. **解析XML**:使用XPath解析器读取并处理XML文件。例如,获取所有`<bean>`元素,然后为每个元素找到其`id`和`...

    springIoc实现原理

    1. **读取配置**:Spring容器读取XML、Java配置或基于注解的配置信息,构建BeanDefinition对象,其中包含了对象的类名、属性、依赖等信息。 2. **Bean实例化**:根据BeanDefinition,Spring容器创建Bean实例,可以是...

    ssm框架所需配置文件

    在SSM框架的配置文件中,主要涉及到以下几个关键部分: 1. **Spring配置文件**: - `applicationContext.xml`:这是Spring的核心配置文件,用于定义Bean的创建、依赖注入以及服务的声明。在这里,你会看到如数据源...

    JavaEE Spring IoC入门

    IoC容器通过读取XML配置文件来理解对象及其依赖关系,然后自动进行实例化和装配。这样,开发者不再需要手动创建和管理对象,而是将这些控制权交给了Spring容器,因此被称为"控制反转"。 描述中的"Spring在Web端的...

    用java写的一个简单的ioc实现,初学的朋友可以看看

    这个简单的实现可能包含解析配置文件,根据配置信息创建和管理Bean的方法。 接着,`Bean.java`文件可能代表了被管理的Java对象,即IoC容器中的Bean。在Spring中,Bean通常通过注解或XML配置文件进行定义,包括其类...

    Spring的ioc小案例

    5. ** ApplicationContext**:Spring应用上下文(`ApplicationContext`)是IoC容器的接口,负责读取配置文件并创建bean。在案例中,我们可能会看到如何通过`ClassPathXmlApplicationContext`加载配置文件并获取bean...

    Spring IOC.pdf

    2. 容器初始化:Spring容器会读取配置文件并解析其中定义的Bean,然后在容器内部创建Bean的实例并管理它们。 3. 注入依赖:当Bean需要使用到其他的Bean时,容器负责注入这些依赖,可以通过构造函数注入或者通过...

    IOC容器_原理代码

    1. **解析配置**:读取XML配置文件,解析出bean的定义。 2. **创建bean**:根据bean定义创建相应的对象,可以使用反射API来调用构造函数。 3. **依赖注入**:查找并注入bean之间的依赖关系。 4. **管理bean的生命...

    Spring配置文件集合

    在本压缩包中,我们找到了一系列与Spring相关的配置文件,这些文件在构建JavaWeb应用时起着至关重要的作用。 1. `jdbc.properties`: 这个文件通常用于存储数据库连接的相关信息,如URL、用户名、密码等。它是Spring...

Global site tag (gtag.js) - Google Analytics