首页 > 其他分享 >spring控制反转(IOC)

spring控制反转(IOC)

时间:2022-11-25 21:27:19浏览次数:35  
标签:UserServiceImpl 配置文件 创建 spring new IOC 反转

控制反转(Inverse Of Control)不是什么技术,而是一种设计思想。它的目的是指导我们设计出更加松耦合的程序。更加有利于程序维护!

控制:对象的创建

例如要使用UserServiceImpl: UserService userService = new UserServiceImpl()

手动new的缺点:

1. 每次使用都需要new,可能导致重复创建,耗费资源。

2. 不方便切换实现类,需要修改java源代码-----耦合度高!

反转:对象的创建由 开发者在类中手动new 反转到 由Spring容器创建,所有创建出来的实例都交给Spring统一管理。它是后续AOP的一个前提!

案例分析:使用spring的ioc实现解耦合

1. 导入spring的依赖(spring-context),若要测试,导入junit包

2. 编写持久层

3. 在resources下创建applicationContext.xml配置文件,在配置文件中将dao配置进去

如果出现以下黄色警告,需要处理

4. 编写测试类 

标签:UserServiceImpl,配置文件,创建,spring,new,IOC,反转
From: https://www.cnblogs.com/lwj0126/p/16926360.html

相关文章

  • 如何编写一个 SpringBoot 的 Starter
    一、什么是Starter?在开发过程中我们就经常使用到各种starter,比如mybatis-spring-boot-starter,只需要进行简单的配置即可使用,就像一个插件非常方便。这也是SpringBoot......
  • 使用Spring Security对接口实现访问权限
     1<!--加入security依赖-->2<dependency>3<groupId>org.springframework.boot</groupId>4<artifactId>spring-boot-......
  • 基于springboot财务管理系统设计与实现的源码+文档
     摘要随着信息化时代的到来,管理系统都趋向于智能化、系统化,车辆充电桩管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然......
  • SpringMVC
    SpringMVC的基本流程:浏览器发送请求,如请求地址符合前端控制器的url-pattern,该请求就会被前端控制器DispatcherServlet进行处理,前端控制器会读取SpringMVC的核心配置文件,......
  • Spring5
    Spring51、Spring框架概述:1、Spring是一个轻量级的开源的javaEE框架轻量级:内存耗费比较小,jar包需求比较少开源:免费试用框架:让开发更加方便,代码更加简洁 2、spr......
  • SpringMVC组件
    SpringMVC的相关组件前端控制器:DispatcherServlet处理器映射器:HandlerMapping处理器适配器:HandlerAdapter处理器:Handler视图解析器:ViewResolver......
  • SpringCloud Day1 SpringCloud概述
    SpringCloud概述。 Eureka:(服务注册发现)配置文件参数:register-with-eureka:false#false表示不向注册中心注册自己。fetch-registry:false#false表示自己端就是......
  • springboot接收前端传参的几种方式
    1、通过HttpServletRequest接收,常用于获取请求头参数以及Cookie,适用于GET和POST请求方式,以下两种方式:@GetMapping("/demo1")publicvoiddemo1(@RequestHeader(name=......
  • SpringDataJpa源码理解
    SpringDataJpa源码理解上一篇讲解了SpringDataJpa的基本使用,下面简单说一下源码我们以其中的一个test为案例进行分析: 我们可以发现resumeDao它是一个代理对象,类型是Si......
  • SpringCloud Alibaba(一) - Nacos 服务注册与发现,OpenFeign远程调用
    1、基础项目过目介绍1.1数据库创建1.2项目模块分布1.3测试http接口调用1.3.1http接口调用配置类//http接口调用配置类@ConfigurationpublicclassRestTempla......