首页 > 其他分享 >Spring IOC介绍及其使用

Spring IOC介绍及其使用

时间:2023-08-12 18:36:21浏览次数:42  
标签:容器 Service 配置文件 Spring 介绍 注解 IOC 赋值

1. Spring IOC

Core Container:核心容器(Spring容器,IOC容器)

1.1 IOC容器

IOC容器:控制反转容器,对象的实例化和赋值的控制权,从硬编码转移到了容器中。从思想层面,解释容器的作用。

反转:某些事情,自己不做,交给别人去做,把执行的结果,拿来直接用。

正转:自己的事情,自己做

DI:依赖注入,从功能角度,解释容器的作用,描述容器完成的功能。

依赖:A类使用了B类,称为A类依赖B类。

注入:给属性或参数,赋值(如果是对象类型,会先实例化对象,再赋值)


1.2 使用Spring框架

第一步:导入框架所需的jar包:

Spring IOC介绍及其使用_IOC使用

第二步:准备Spring框架的配置文件模板:

Spring IOC介绍及其使用_Spring IOC_02

第三步:新建一个HelloSpring类:

Spring IOC介绍及其使用_IOC容器_03

第四步:在Spring的配置文件中,配置HelloSpring类,让Spring框架实例化对象,并赋值:

Spring IOC介绍及其使用_IOC容器_04

第五步:编写测试类,从容器获取对象,看运行效果:

Spring IOC介绍及其使用_IOC容器_05

1.3 构造注入

构造注入:调用类的带参构造方法,完成属性的赋值

1.3.1 示例代码

第一步:在类中编写带参构造方法,注意要补上无参构造:

Spring IOC介绍及其使用_Spring IOC_06

第二步:在Spring配置文件中,使用constructor-arg标签,对构造方法的参数进行赋值:

Spring IOC介绍及其使用_IOC容器_07

1.4 p命名空间注入

第一步:在配置文件中,导入p命名空间:

Spring IOC介绍及其使用_Spring IOC_08

第二步:使用p命名空间进行注入:

Spring IOC介绍及其使用_IOC使用_09


2. 使用注解方式配置Bean

2.1 标注类的注解

Spring IOC介绍及其使用_IOC容器_10

@Component:标注普通的Java类(这个类不属于DAO层、Service层、Controller层)

@Repository:标注持久化层的接口实现类

@Service:标注Service层接口的实现类

@Controller:标注Controller类

2.2 属性赋值的注解

Spring框架提供的属性赋值注解:

Spring IOC介绍及其使用_IOC_11

Sun公司提供的属性赋值注解:

Spring IOC介绍及其使用_IOC使用_12

2.3 使用注解开发Java程序

第一步:在Spring配置文件中,配置要扫描注解的包:

Spring IOC介绍及其使用_Spring IOC_13

第二步:在各个类中,根据类所在的位置,添加注解:

普通Java类:

Spring IOC介绍及其使用_IOC使用_14

DAO层的实现类:

Spring IOC介绍及其使用_IOC_15

Service层的实现类:

Spring IOC介绍及其使用_Spring IOC_16

如果类中有属性需要赋值,一般可以使用@Autowire或@Resource注解,进行赋值:

Spring IOC介绍及其使用_IOC容器_17

标签:容器,Service,配置文件,Spring,介绍,注解,IOC,赋值
From: https://blog.51cto.com/u_16222207/7060653

相关文章

  • IDEA集成docker并快速部署Springboot项目
    前言:现在docker是我们常用的服务部署方式了,在微服务中对于springboot部署到docker一般有两种方式1、把jar包扔给运维同学,由他们进行编写dockerfile或者其他方式部署。(不推荐)2、由开发同学处理后把镜像或者容器上传到服务器(企业级常用方式)下面我们就通过demo来看下方式二......
  • SpringBatch读取mysql数据
    1.在本地数据库创建user表建表语句:createtable`user`(`id`bigintnotnullauto_incrementcomment'主键',`name`varchar(32)defaultnullcomment'用户名',`age`intdefaultnullcomment'年龄',primarykey(id))engine=innodbde......
  • springboot集成log4j2日志
    目录Maven依赖log4j2.xml配置注释测试参考Maven依赖参考:https://docs.spring.io/spring-boot/docs/2.7.14/reference/htmlsingle/#howto.logging.log4j <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</a......
  • Springboot - 员工部门案例
    目录查询全部部门信息查询全部部门信息//知识点1:@RequestMapping(value="/list",method=RequestMethod.GET)等价于:@GetMapping("/list")//知识点2:privatestaticLoggerlogger=LoggerFactory.getLogger(DeptController.class);等价于@Slf4j(lombok.extern.slf......
  • Spring:登录功能如何做
    前言今天是2023年8月12号,周六,今天不用上班,只是前几天得知消息我前项目组的同事们被裁员,说不定哪个明天就轮到我了吧,所以今天过来公司,研究下公司项目架构,离职的时候带点东西也不算亏说回登录,我还未工作前,行内人一直告诉我登录功能很简单应届生应该都应该会,可工作两年的我发现,登录......
  • SpringBoot3数据库集成
    标签:Jdbc.Druid.Mybatis.Plus;一、简介项目工程中,集成数据库实现对数据的增晒改查管理,是最基础的能力,而对于这个功能的实现,其组件选型也非常丰富;通过如下几个组件来实现数据库的整合;Druid连接池:阿里开源的数据库连接池,并且提供SQL执行的监控能力;MybatisPlus框架:基于Mybatis框......
  • SpringBoot3数据库集成
    标签:Jdbc.Druid.Mybatis.Plus;一、简介项目工程中,集成数据库实现对数据的增晒改查管理,是最基础的能力,而对于这个功能的实现,其组件选型也非常丰富;通过如下几个组件来实现数据库的整合;Druid连接池:阿里开源的数据库连接池,并且提供SQL执行的监控能力;MybatisPlus框架:基于Mybatis......
  • nacos介绍
    1 2 3各种注册中心的之间差异 ......
  • SpringBatch连接mysql
    1.添加依赖一个是SpringBatch依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-batch</artifactId></dependency>一个是mysql依赖<dependency><......
  • Spring Cloud智慧工地云平台源码——实现“互联网+”与建筑工地的跨界融合
    互联网+建筑工地,是将互联网+的理念和技术引入建筑工地,从施工现场源头抓起,最大程度的收集人员、安全、环境、材料等关键业务数据,依托物联网、互联网,建立云端大数据管理平台,形成“端+云+大数据”的业务体系和新的管理模式,打通从一线操作与远程监管的数据链条,实现劳务、安全、环境、材......