Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
发布时间:2024年01月22日
开篇:
欢迎来到 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特点
- 方便解耦,简化开发
- Aop编程支持
- 方便测试
- 可以方便和其他框架整合
- 进行了很多封装
- 方便进行事务操作
loc(概念和原理)
什么是 IOC
IOC 底层原理
(1) xml解工厂模式、反射
IOC 过程图

IOC(接口)
IOC思想基于 IOC容器完成,IOC 容器底层就是对象工厂
Spring 提供 IOC容器实现两种方式:(两个接口)
ApplicationContext 接口有实现类

IOC操作Bean管理
什么是Bean管理
Bean管理操作有两种方式
基于Xml配置文件方式

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

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

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

-
使用配置文件

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

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

注入属性(外部类)
- 创建两个类service和dao
- service中调用dao
- spring配置文件中配置

注入属性-内部bean级联赋值
- 一对多关系:部门和员工
一个部门多个员工,一个员工只属于一个部门

? }
}
- 配置文件中配置

注入属性,级联赋值

xml注入集合属性

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


xml对象集合属性注入

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

-
xml注入

感谢您阅读 Spring 5 学习系列的第一篇!在这篇文章中,我们探索了Spring5的(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
下一篇文章即将发布! 在第二篇中,我们将深入研究Spring 5的IOC,为您分享我学习的Spring5的收获,请继续关注我的系列。
谢谢您的陪伴! 如果您有任何问题、建议或想要了解的特定主题,请随时在评论中告诉我们。我们期待与您共同探索Spring 5,共同提升我们的Java开发技能!
敬请期待第二篇的发布,我们将很快与您再次见面!
学习视频来源尚硅谷Spring5
文章来源:https://blog.csdn.net/weixin_44976692/article/details/135734453
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!