首页 > 其他分享 >Spring框架之IOC入门

Spring框架之IOC入门

时间:2022-12-06 20:22:43浏览次数:40  
标签:入门 自定义 Spring Company 接口 IOC 配置文件

1.开发环境

  • IDEA版本: 2022.1.4
  • Maven版本:3.8.6
  • Spring版本:6.0.2

 

2.案例分析

2.1 自定义Man类

2.2 自定义Company类

2.3 自定义CompanyTest类

2.4 分析图

 

3.案例改进

  • 此时Company类和Man类之间的耦合度比较高,若希望雇佣其它类取代Man类则需要修改Company类,这种修改违背了开闭原则,为了解决该问题,就可以将雇佣什么类的工作移交出去。

3.1 自定义Staff接口

3.2 修改Man类

3.3 修改Company类

3.4 修改CompanyTest类

3.5 分析图

 

4.IOC概述

4.1 基本概念

  • 此时雇佣什么类的控制权已经由业务代码反转给测试代码来决定,这种思想就是IOC(Inverse of Control),翻译过来就是控制反转,使用IOC不仅可以降低程序的耦合性,还可以管理对象的创建和对象之间的依赖等。

4.2 相关接口

  • Sping框架提供IOC容器实现有两种方式:
    • BeanFactory接口主要用于Spring内部使用,在加载配置文件时不会创建对象。
    • ApplicationContext接口是BeanFactory接口的子接口,主要用于开发人员使用,在加载配置文件时就会创建对象。
  • ApplicationContext接口的主要实现类:
    • FileSystemXmlApplicationContext类主要用于读取磁盘路径的配置文件并创建容器。
    • ClassPathXmlApplicationContext类主要用于读取类路径的配置文件并创建容器。

4.3 案例实现

  • 向pom.xml文件中增加Spring支持。
  • 编写beans.xml文件。
  • 自定义CompanySpringTest类。

 

更多精彩和源码欢迎关注微信公众号《格子衫007》!

 

标签:入门,自定义,Spring,Company,接口,IOC,配置文件
From: https://www.cnblogs.com/gezishan007/p/16960399.html

相关文章

  • 使用Spring Reactor优化推荐流程
    1.背景公司有一个推荐系统Rec,这个系统的主要功能是:向外部系统提供推荐接口根据请求获取推荐策略根据推荐策略完成推荐的召回、过滤、打分、排序阶段Rec作为微服务......
  • 微服务开发平台 Spring Cloud Blade 部署实践
    本文介绍使用Rainbond快速部署SpringCloudBlade微服务平台。SpringCloudBlade是一个由商业级项目升级优化而来的微服务架构,采用SpringBoot2.7、SpringCloud2......
  • 多数据源配置 springboot+druid+mybatisplus使用注解整合
     1.pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • SpringMVC
    回顾MVC什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是......
  • Spring for GraphQL入门教程(二)
    5.带注释的控制者SpringforGraphQL提供了一个基于注释的编程模型,其中组件使用注释来声明具有灵活方法签名的处理程序方法获取特定GraphQL字段的数据。例如:​​@Contr......
  • Spring Session for Apache Geode 教程
    1.简介Spring会话提供了用于管理用户会话信息的API和实现。它还提供与以下各项的透明集成:HttpSession-使它能够被集群化(即复制)实现高可用性),而无需绑定到特定于应用程......
  • Halcon快速入门
    前言一,HALCON概述1.1,HALCON安装二,HALCON架构2.1,算子2.1.1,参数和数据结构2.2,拓展包2.3,接口2.3.1,HALCON-Python接口2.3.2,HALCON-C接口2.3.3,HALCON-C++......
  • 天大福利!世界第一科技出版公司 Springer 免费开放 400 多本电子书!
    前几天,世界著名的科技期刊/图书出版公司施普林格(Springer)宣布:免费向公众开放400多本正版的电子书!!Springer即施普林格出版社,于1842年在德国柏林创立,20世纪60年代建立了......
  • 微服务开发平台 Spring Cloud Blade 部署实践
    本文介绍使用Rainbond快速部署SpringCloudBlade微服务平台。SpringCloudBlade是一个由商业级项目升级优化而来的微服务架构,采用SpringBoot2.7、SpringCloud20......
  • Spring for GraphQL入门
    1.概述SpringforGraphQL为基于GraphQLJava 构建的Spring应用程序提供支持。这是GraphQLJava团队和Spring工程。SpringforGraphQL是GraphQLJavaSpring项目......