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

相关文章
|
3月前
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
265 26
|
5月前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
120 12
|
5月前
|
存储 Java 应用服务中间件
【Spring】IoC和DI,控制反转,Bean对象的获取方式
IoC,DI,控制反转容器,Bean的基本常识,类注解@Controller,获取Bean对象的常用三种方式
122 12
|
5月前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
123 6
|
Java Spring
Spring原理学习系列之五:IOC原理之Bean加载
其实很多同学都想通过阅读框架的源码以汲取框架设计思想以及编程营养,Spring框架其实就是个很好的框架源码学习对象。我们都知道Bean是Spring框架的最小操作单元,Spring框架通过对于Bean的统一管理实现其IOC以及AOP等核心的框架功能,那么Spring框架是如何把Bean加载到环境中来进行管理的呢?本文将围绕这个话题进行详细的阐述,并配合Spring框架的源码解析。
Spring原理学习系列之五:IOC原理之Bean加载
|
2月前
|
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`
74 0
|
2月前
|
前端开发 Java 数据库
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——Thymeleaf 介绍
本课介绍Spring Boot集成Thymeleaf模板引擎。Thymeleaf是一款现代服务器端Java模板引擎,支持Web和独立环境,可实现自然模板开发,便于团队协作。与传统JSP不同,Thymeleaf模板可以直接在浏览器中打开,方便前端人员查看静态原型。通过在HTML标签中添加扩展属性(如`th:text`),Thymeleaf能够在服务运行时动态替换内容,展示数据库中的数据,同时兼容静态页面展示,为开发带来灵活性和便利性。
75 0
|
2月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
38 0
|
2月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
166 0
|
2月前
|
缓存 NoSQL Java
基于SpringBoot的Redis开发实战教程
Redis在Spring Boot中的应用非常广泛,其高性能和灵活性使其成为构建高效分布式系统的理想选择。通过深入理解本文的内容,您可以更好地利用Redis的特性,为应用程序提供高效的缓存和消息处理能力。
187 79