`
newchq
  • 浏览: 55032 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Spring整理1 -- 实现模块的切换

阅读更多

对象的生成由Spring通过读取配置文件(applicationContext.xml)动态设置,主调类仅仅面对接口编程,无需知道具体的实现类。这样我们就可以根据配置文件进行实现类的切换。从而降低耦合性。对象的生成,由框架通过反射机制完成,控制权从前端主程序转化到了框架,       这种思想叫做控制反转(IOC),Inverse Of Control,可以很好的实现模块切换。

例如:实现USB模拟程序

配置文件

<beans>

       <bean id="disk" class="usbdisk.UsbDisk"></bean>

</beans>

 
 

程序

package app; 

public interface IDISK {

       public abstract String readInfo();

       public abstract void writeInfo(String msg);

}

 

package usbdisk;

import app.IDISK;

public class UsbDisk  implements IDISK{

       public String readInfo(){
              return "从U盘读过来的信息";
       }

       public void writeInfo(String msg){
              System.out.println("向U盘写出信息:" + msg);
       }

}

 

package movedisk;

import app.IDISK;

public class MoveDisk implements IDISK{

       public String readInfo(){
              return "从移动硬盘读过来的信息";
       }

       public void writeInfo(String msg){
              System.out.println("向移动硬盘写出信息:" + msg);
       }

}

 

import java.awt.Frame;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext; 

import app.IDISK; 

public class Test { 

       public static void main(String[] args) {
              ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml");

              IDISK disk =( IDISK)context.getBean("disk ");

//根据配置文件的内容,实例化对象并且返回
              disk.readInfo ();
       }
}

 

分享到:
评论

相关推荐

    \Desktop\Spring Boot.7z

    3. **起步依赖**:通过`spring-boot-starter`模块,可以便捷地引入所需功能,如`spring-boot-starter-web`用于Web开发,`spring-boot-starter-data-jpa`用于数据库访问。 4. **健康检查**:提供Actuator端点,用于...

    SpringBoot技术整理

    4. **安全与健康检查**:Spring Boot 提供了安全模块(Spring Security)和健康检查端点,可以轻松实现认证、授权以及监控应用的健康状态。 5. **外部化配置**:Spring Boot 支持通过 application.properties 或 ...

    Spring2&3速查手册HandBood系列(By FengGe整理)

    Spring框架是Java开发中最常用的轻量级框架之一,它以其模块化、易用性和灵活性而闻名。本手册主要涵盖了Spring框架的两个主要版本——Spring 2.x和Spring 3.x,由FengGe精心整理,旨在帮助开发者快速查找和理解...

    摩根面试宝典-JVM,GC,Spring etc.

    - **AOP(面向切面编程)**:Spring AOP允许程序员定义“横切关注点”并将其模块化为可重用的组件,这些组件可以在程序的多个点自动应用,如日志、事务管理等。 - **IoC(依赖注入)**:Spring通过容器管理对象及其...

    springboot学习笔记整理思维脑图

    1. **自动配置**: SpringBoot通过`@EnableAutoConfiguration`注解实现了自动配置功能。它会根据项目依赖自动配置相应的Bean,极大地减少了常规配置工作。 2. **内嵌式Web服务器**: SpringBoot支持内嵌Tomcat、Jetty...

    SpringBoot知识点整理思维导图

    SpringBoot知识点整理思维导图是针对Java开发领域中流行的微服务框架——Spring Boot进行系统性梳理的工具。Spring Boot以其快速启动、简化配置的特点,深受开发者喜爱。在本思维导图中,主要涵盖了以下几个核心知识...

    后端开发基础知识整理JAVA、JVM、操作系统、网络、设计模式、mysql、redis、多线程、spring、springboo

    本篇文档对后端开发中的关键知识点进行了全面而深入的梳理,涵盖了Java语言基础、JVM、操作系统、网络技术、数据库、缓存、多线程、Spring框架等方面的核心概念和技术要点。以下是针对文档标题、描述以及部分内容中...

    Java_笔记整理

    - **Spring MVC**:Spring框架中的MVC模块介绍。 9. **SSH (Struts + Spring + Hibernate) 与 Ajax的整合** - **集成开发**:如何将这三个框架结合在一起,实现更高效的数据处理。 - **Ajax交互**:在SSH框架中...

    springmvc+mybatis多数据源,aop动态切换

    本文将详细讲解如何将这两个框架整合,实现多数据源配置,并利用AOP(面向切面编程)进行动态切换,以达到数据库读写分离的目的。 **SpringMVC简介** SpringMVC是Spring框架的一部分,它是一个基于模型-视图-控制器...

    计算机毕业设计jsp病人跟踪治疗信息管理系统vue论文

    - **路由管理**:借助Vue Router实现单页面应用中的导航和视图切换。 - **样式管理**:采用CSS预处理器(如Sass或Less)提高样式编写效率。 ##### 4.2 Java后端逻辑处理 - **业务逻辑处理**:使用Spring框架提供的...

    物联网基础框架设计说明书.docx

    * 提供拦截器组件(Jboot、Spring)在登录后调用RPC接口实现对权限信息的拦截,把用户的菜单、权限、基地、地块信息提取后整合到缓存中,内部调用使用方法或缓存获取,不再通过RPC调用获取 2. 系统架构 2.1 数据...

    开源中国源码

    FlyCms 是一个类似知乎以问答为基础的完全开源的JAVA语言开发的社交网络建站程序,基于 Spring Boot+Bootstrap3+MyBatis+MYSQL+Solr+Ehcache 应用架构,专注于社区内容的整理、归类和检索,它集合了问答,digg,wiki...

    h5前端手机模板-购物商城-页面超全-可直接运行.rar

    1. 首页轮播图:这是网站或应用的入口,通常展示促销活动或新品推荐,通过动态切换的图片吸引用户注意力。 2. 分类商品展示:将商品按照类别进行整理,方便用户根据需求快速找到目标商品,提高浏览效率。 3. 预约与...

    面试问题.txt

    根据提供的文件信息,我们可以整理出一系列与Java高级面试相关的知识点,特别是针对阿里巴巴面试的要求。以下是对这些知识点的详细解析: ### 1. Tomcat **知识点解析:** - **架构理解**:Tomcat是一个免费开源的...

    基于SSM+Vue的考研助手(源码+部署说明+系统介绍+源码解释).zip

    笔记模块:提供多种笔记方式,如文字、图片、音频等,支持用户自定义笔记模板,方便考生整理知识点。 错题本模块:记录用户的做题记录和错题情况,支持针对性的错题练习和复习。 计划模块:根据用户的考试时间和...

    JAVA核心知识点整理.pdf

    对象的新生代分配通常是在Eden区中进行的,如果Eden区没有足够空间时,虚拟机会触发一次Minor GC,新生对象会被复制到SurvivorFrom区域,并将年龄设置为1。Survivor区有两个,一个称为From区,另一个称为To区,垃圾...

    2021 Java架构进阶 Nginx企业级教程【视频课程】下载整理.zip

    【标题】"2021 Java架构进阶 Nginx企业级教程【视频课程】下载整理.zip" 提供了一个深入学习Java架构和Nginx服务器的综合资源集合。这个课程可能包含了从基础到高级的Java编程知识,以及如何在企业环境中有效部署和...

    202x年智慧图书馆服务平台建设方案(专业完整版).docx

    - **服务切换**:当某个微服务出现问题时,可即时切换至备用服务,确保服务连续性。 - **个性化体验**:通过个性化推荐等功能提升用户体验,例如根据用户的阅读习惯和偏好推荐图书资源。 #### 二、纸本采访 **(二...

Global site tag (gtag.js) - Google Analytics