Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)

简介: Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)

开篇:

欢迎来到 Spring 5 学习系列!在这个系列中,我们将深入研究 Spring 框架的最新版本,揭示其在现代Java开发中的精髓。无论你是初学者还是有经验的开发者,本系列都旨在为你提供深刻的理解和实用的知识,让你在构建强大、可维护和高效的应用程序方面更上一层楼。

  • 为什么选择 Spring 5?
    随着Java生态系统的不断发展,Spring框架一直是Java开发的首选框架之一。Spring 5作为其演变的最新版本,引入了众多令人激动的新特性和改进,使得它更加适应当今动态和高效的开发需求。从反应式编程到模块化系统,Spring 5 为我们提供了丰富的工具和解决方案。

Spring(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)

概述

Spring是轻量级的开源的JavaEE框架

Spring可以解决企业应用开发的复杂性

Spring有两个核心部分ioc,aop

  • IOC:控制反转,把创建的对象过程交给Spring进行管理
  • AOP:面向切面,不修改源代码对功能进行加强

Spring特点

  1. 方便解耦,简化开发
  2. Aop编程支持
  3. 方便测试
  4. 可以方便和其他框架整合
  5. 进行了很多封装
  6. 方便进行事务操作

loc(概念和原理)

什么是 IOC

  • 控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理
  • 使用 IOC目的: 为了耦合度降低`

IOC 底层原理

(1) xml解工厂模式、反射

IOC 过程图

IOC(接口)

IOC思想基于 IOC容器完成,IOC 容器底层就是对象工厂

Spring 提供 IOC容器实现两种方式:(两个接口)

  • BeanFactory: IOC容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用
  • 加载配置文件时候不会创建对象,在获取对象(使用) 才去创建对象
  • ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用
  • 加载配置文件时候就会把在配置文件对象进行创建

ApplicationContext 接口有实现类

IOC操作Bean管理

什么是Bean管理

  • Spring创建对象
  • Spring注入属性

Bean管理操作有两种方式

基于Xml配置文件方式

  1. 创建对象
  • 在 spring 配置文件中,使用 bean 标签,标签里面添加对应属性,就可以实现对象创建
  • 在 bean 标签有很多属性,介绍常用的属性
    *id 属性: 唯一标识
    *class 属性:类全路径 (包类路径)
  • 创建对象时候,默认也是执行无参数构造方法完成对象创建
  1. 注入属性
  • DI:依赖注入(注入属性)
  • 使用set方式注入
  • 创建类
  • 定义属性和对应的方法

  • 在spring配置文件配置对象创建,配置属性注入
  • 配置bean标签 即 创建类
  • 在bean里面配置property 即 设置属性

  • 有参构造
  • 使用有参构造方法

  • 使用配置文件

xml注入其他属性
  • 向属性里面设置空值

  • 属性值包含特殊符号,例如 < >

注入属性(外部类)
  1. 创建两个类service和dao
  2. service中调用dao
  3. spring配置文件中配置
注入属性-内部bean级联赋值
  1. 一对多关系:部门和员工

一个部门多个员工,一个员工只属于一个部门

}

}

  1. 配置文件中配置

注入属性,级联赋值

xml注入集合属性

并且生成get/set方法,图片中省略

xml对象集合属性注入

xml把集合注入部分提取出来
  1. 引入util的bean命名空间

  2. xml注入

感谢您阅读 Spring 5 学习系列的第一篇!在这篇文章中,我们探索了Spring5的(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)

下一篇文章即将发布! 在第二篇中,我们将深入研究Spring 5的IOC,为您分享我学习的Spring5的收获,请继续关注我的系列。

谢谢您的陪伴! 如果您有任何问题、建议或想要了解的特定主题,请随时在评论中告诉我们。我们期待与您共同探索Spring 5,共同提升我们的Java开发技能!

敬请期待第二篇的发布,我们将很快与您再次见面!

学习视频来源尚硅谷Spring5

相关文章
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
1180 26
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
3458 1
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于 xml 的整合
本教程介绍了基于XML的MyBatis整合方式。首先在`application.yml`中配置XML路径,如`classpath:mapper/*.xml`,然后创建`UserMapper.xml`文件定义SQL映射,包括`resultMap`和查询语句。通过设置`namespace`关联Mapper接口,实现如`getUserByName`的方法。Controller层调用Service完成测试,访问`/getUserByName/{name}`即可返回用户信息。为简化Mapper扫描,推荐在Spring Boot启动类用`@MapperScan`注解指定包路径避免逐个添加`@Mapper`
1324 0
|
XML Java 数据格式
【SpringFramework】Spring IoC-基于XML的实现
本文主要讲解SpringFramework中IoC和DI相关概念,及基于XML的实现方式。
487 69
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
633 12
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
767 12
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
484 1
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
576 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1473 8