Spring基础梳理(一):一定要先全局掌握Spring

13 篇文章 0 订阅
订阅专栏
本文概述了Spring框架的核心模块,包括Core(IoC容器)、Bean、AOP、ORM、DAO、WEB、Context和MVC,介绍了SpringExpression的特点,并详细讨论了依赖注入的三种方式。作者反思如何提升博客内容的易读性和趣味性。
摘要由CSDN通过智能技术生成

越活越完蛋了,看着看着现在又想梳理梳理Spring基础,搞点原始真解吧,不过技术人每个阶段看相同东西的理解都是不同的,只是现在浮躁的技术中又有多少人能够一本书啃两遍以上呢,我也一样,徜徉于业务之中,所以技术是什么,永远记住,技术是服务于业务的,架构也是同样的道理,不要为了技术而技术,为了架构而架构

Spring有哪些模块

 

  • Spring Core

Core模块是Spring的核心类库,Spring的所有功能都依赖于该类库,Core主要实现IOC功能,Sprign的所有功能都是借助IOC实现的。

包含一些类如BeanFactory,ApplicationContext等。主要功能有:

  • IoC容器:管理Bean的创建、初始化等生命周期
  • 依赖注入:管理Bean之间的依赖关系,可以通过setter注入或构造器注入
  • 事件发布:支持事件机制,如ContextStartedEvent等
  • Bean模块

bean相关,依赖查找,依赖注入

  • AOP

AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常用的拦截器,供用户自定义和配置。俗称,面向切面编程,解耦,可重用

  • ORM

Spring 的ORM模块提供对常用的ORM框架的管理和辅助支持,Spring支持常用的Hibernate,ibtas,jdao等框架的支持,Spring本身并不对ORM进行实现,仅对常见的ORM框架进行封装,并对其进行管理

  • DAO模块

Spring 提供对JDBC的支持,对JDBC进行封装,允许JDBC使用Spring资源,并能统一管理JDBC事物,并不对JDBC进行实现。(执行sql语句)

  • WEB模块

WEB模块提供对常见框架如Struts1,WEBWORK(Struts 2),JSF的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器。

  • Context模块

这是在Core基础上构建的,提供了框架式的Spring应用支持。它继承了Core的所有功能,并添加了国际化、事件传播、资源加载和透明地创建上下文(比如Servlet容器)等功能。

  • MVC模块

WEB MVC模块为Spring提供了一套轻量级的MVC实现,在Spring的开发中,我们既可以用Struts也可以用Spring自己的MVC框架,相对于Struts,Spring自己的MVC框架更加简洁和方便。

  • Spring Expression

Spring表达式语言模块,主要用途:

  • 注入bean属性值
  • 在运行时查询和操作对象图
  • 方法参数化表达式
  • 条件化的配置文件逻辑等

核心特性

  • IOC容器
  • spring事件
  • 资源管理
  • 国际化
  • 校验
  • 数据绑定
  • 类型转换
  • spirng表达式
  • 面向切面编程

版本关系

Spring优缺点

 SpringMVC的执行流程

1、  用户发送请求至前端控制器DispatcherServlet。

2、  DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、  处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

4、  DispatcherServlet调用HandlerAdapter处理器适配器。

5、  HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。

6、  Controller执行完成返回ModelAndView。

7、  HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。

8、  DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

9、  ViewReslover解析后返回具体View。

10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。

11、 DispatcherServlet响应用户。

实例化Bean的方法initializeBean,该方法在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory类下

依赖注入的三种方式

setter注入方式

public class UserService {

  private UserRepository userRepository;

  public void setUserRepository(UserRepository userRepository) {
    this.userRepository = userRepository;
  }

}  

构造器注入

public class UserService {

  private UserRepository userRepository;

  public UserService(UserRepository userRepository) {
    this.userRepository = userRepository;
  }

}

注解注入

public class UserService {

  @Autowired
  private UserRepository userRepository;

}

 这三种方式各有优劣,构造器注入可以强制依赖初始化,Setter注入更灵活,字段注入没有侵入性但不易控制。需要根据实际场景选择最合适的依赖注入方式

我在想怎么样才能让博客更有趣,更简单,更易懂呢,这是个好问题,谁知道?

Spring核心知识点完整梳理(史上最全,值得收藏)
03-18
11. **Spring Cloud**:一套微服务解决方案,包含了服务发现、配置中心、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话和集群状态等多种组件。 这份史上最全的Spring核心知识点...
全面解读Spring Cloud Zuul:从配置到优化的实战指南
热门推荐
张彦峰的博客
02-14 164万+
在微服务架构中,API网关作为核心组件之一,承担着请求路由、负载均衡、安全认证等重要功能。Spring Cloud Zuul作为一款功能强大的API网关解决方案,得到了广泛应用。本文将深入探讨Spring Cloud Zuul的各项功能,从基础配置到工作原理,再到多层负载和应用优化,全面解析其在实际应用中的最佳实践与实用技巧,为开发者提供一站式指导,助力其打造高性能、高可用的微服务架构
Spring临时梳理:10.25~11.3
chennaji的博客
11-03 130
近期规划
解决Spring全局异常捕获不生效的问题
Lvlht的博客
04-23 1053
Spring项目全局异常处理不生效,登录接口报错异常信息被直接返回到接口响应中。
Spring(一):Spring开篇
点滴
05-08 727
Spring框架的开篇详解,如果你想了解和学习Spring的相关内容,从这里开始吧
SpringCloud基础6——分布式事务,Seata
vincewm的博客
09-17 2174
分布式事务、ACID原则、CAP定理、Seata、Seata的四种分布式方案:XA、AT、TCC、SAGA模式
SpringCloud第一版知识点梳理
qq_44794280的博客
03-30 1401
本次文章目录结构如下1 初识Spring Cloud1.1 目标1.2 讲解1.2.1 技术架构演变1.2.2 SpringCloud简介1.3 小结2 微服务调用2.1 目标2.2 讲解2.2.1 RPC和HTTP2.2.2 Spring的RestTemplate2.3 小结 能够理解SpringCloud作用 用来做微服务架构的技术解决方案 SpringCloud基于SpringBoot开发的,SpringCloud整合了很多优秀的第三方微服务开源框架 能够使用RestTemplate发送请
Spring高级技术梳理
时间静止
09-20 2万+
Spring高级技术梳理 序言正文SpringDate部分Spring全家桶之SpringData——预科阶段Spring全家桶之SpringData——Spring 整合Hibernate与Hibernate JpaSpring全家桶之SpringData——Spring Data JPASpring全家桶之SpringData——SpringData RedisSpringBoot部分Sp......
简单梳理Spring
m0_54714490的博客
09-15 162
不是,Spring并未对bean进行线程安全的处理,因为bean多数情况下是无状态的(没有数据存储功能),所以也不存在线程安全问题,但是如果是类似ModelAndView这样的有状态对象,那么就需要自己去保证线程的安全,此时可以把类的作用域改为prototype。ApplicationContext在容器启动时就把所有bean都加载好了,避免了上述问题,而且在我们需要bean的时候能够直接拿到,但是这样的方式也使得它占用内存空间较多,造成不必要的浪费。:一个事务能读取另一个事务未提交的数据。
Spring知识点精简版梳理(一)——概述
qq_35843514的博客
03-02 8459
一、什么是Spring? 1、Spring 是轻量级的开源的 JavaEE 框架 2、Spring 可以解决企业应用开发的复杂性 3、Spring 有两个核心部分:IOC 和Aop (1) IoC:控制反转,把创建对象过程交给 Spring进行管理 (2) AOP:面向切面,不修改源代码进行功能增强 4、Spring 特点 (1) 方便解耦,简化开发 (2) Aop编程支持 (3) 方便程序测试 (4) 方便和其他框架进行整合 (5) 方便进行事务操作 (6) 降低 API开发难度 5、目前使用Sprin.
Spring MVC 梳理:从原理到核心注解
ContextLoaderListener会在这一过程中初始化全局ApplicationContext,为整个Spring应用提供基础配置。 SpringMVC通过DispatcherServlet、Controller、ViewResolver等组件实现了请求处理和视图渲染,同时利用注解...
SpringCloud学习资源:掌握其他相关框架
资源摘要信息: "SpringCloud作为微服务架构中的核心框架之一,提供了在分布式系统中快速构建一些常见模式的工具,例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、...
Spring注解实战:构建基础Web应用
总结来说,Spring注解的学习是一个逐步理解并掌握如何使用注解替代XML配置,实现依赖注入、服务定位、事务管理等核心功能的过程。通过这个系列的学习,你将能够更好地理解和运用Spring框架,提升开发效率。
springboot配置访问sqlserver,mysql数据库以及ssm的公共业务逻辑层抽取
洛雪
11-11 2万+
springboot的搭建:http://blog.csdn.net/goligory/article/details/78404480 最近喜欢用springboot,有时间就研究了一下,因为经常用sqlserver,在网上查了半天没有什么很好的配置,在抽取业务层的时候也出点问题,还好解决了 这是一个比较简单的结构 引入sqlserver和mysql的依赖,注意不要重复,这么低级的错...
springboot搭建以及发布到tomcat服务器中
洛雪
10-31 1万+
本想整理一下springboot的优缺点的,还是拉倒吧,这东西都是仁者见仁智者见智,最低现在我打算用它并且觉得还不错,那就上路吧 框架这个东西还是得自己亲自搭建,这样知道哪里会出现问题,下次不再犯就行了 目录 org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE
SpringBoot集成ELK详细教程
洛雪
03-01 1万+
该文章主要介绍了ELK(Elasticsearch+Logstash+Kibana)的概念和搭建方法,并提供了详细的操作步骤和代码示例。同时还介绍了如何在SpringBoot项目中集成ELK Elasticsearch:是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在是使用最广的开源搜索引擎之一。
ssm的简单实现以及配置ehcache
洛雪
09-04 2212
前两天没什么事重新搭建了一下ssm,报错报了好几个小时也是醉了,还好最终钻出死胡同出来了,一个小地方弄错了,所以现在看来最简单的原理一定要理解的最透,不然死都不知道怎么死的,然后配置了一下ehcache,又因为一个错误查了好久,前两天我一定是没吃饱饭。。。 对于ssm框架一定要理解其原理,springspringmvc,mybatis分别的作用以及集体的运行原理,一半天也要总结一下,
掌握 Spring:从新手到高手的常见问题汇总
最新发布
洛雪
09-14 1601
一提起Spring,总感觉有太多知识,无法详尽,有些基础理解就不说了,相信大家都已经用过Spring了下面简单针对常见Spring面试题做些回答1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
SpringBoot1.5.x升级到SpringBoot2.2.13记录】
洛雪
12-15 1037
为什么升级到2.x 1.SpringBoot 1.X 官方已不再进行维护; 2.SpringBoot 1.X 下许多新发现的SpringBoot和SpringFramework的漏洞无法再进行升级处理,安全扫描无法通过; 3.SpringBoot 2.X 下的应用启动速度会比SpringBoot1提升10到20秒时间,整体性能上也更优。
写文章

热门文章

  • 微信h5支付,微信外浏览器支付实现 51088
  • springboot配置访问sqlserver,mysql数据库以及ssm的公共业务逻辑层抽取 28972
  • springboot搭建以及发布到tomcat服务器中 15431
  • 微信公众号之授权获取用户信息(获取unionid) 15037
  • java微信退款(支持部分退款) 12211

分类专栏

  • 【架构架Go】 2篇
  • 【框架相关】 13篇
  • 【工具】 1篇
  • 【AI爱好集中营】 1篇
  • 【JVM】 7篇
  • 【并发相关】 5篇
  • 【数据库】 2篇
  • 【Java基础】 9篇
  • 【解决方案】 13篇
  • 【其他常用知识】 3篇
  • 【消息队列】 1篇
  • 【运维网络】 5篇
  • 【设计模式及应用】 3篇
  • 【Python相关】
  • 【职场素质】 3篇
  • 【前端统说】 1篇
  • 【缓存相关】 6篇
  • 【数据结构及算法】 2篇

最新评论

  • TRC20代码接入

    站长大人: 有什么事吗,woshixiaojiu9999999

  • TRC20代码接入

    _友: 引用「laoaxiang829」 你好 如何联系您 这个微信号搜不到

  • @FunctionalInterface函数式接口深入实践附demo 多种写法 提高代码可读性健壮性

    CSDN-Ada助手: 推荐 Java 技能树:https://edu.csdn.net/skill/java?utm_source=AI_act_java

  • @FunctionalInterface函数式接口深入实践附demo 多种写法 提高代码可读性健壮性

    站长大人: 扩展性噌噌起来了哈哈

  • Linux python3安装,替换python2,pip安装 以及解决安装过程存在的问题

    sloder: 创建软连接的部分错了 应该如下: ln -s /usr/local/python3/bin/python3 /usr/bin/python

最新文章

  • 【数据结构】TreeMap和ConcurrentSkipListMap详解及对比,高性能少不了他们
  • 【数据结构】二叉堆一文详解,附demo
  • 两文读懂DDD领域驱动设计(二),举例说明,通俗易懂【值得收藏】
2024年15篇
2023年12篇
2022年4篇
2021年10篇
2020年21篇
2019年8篇
2018年8篇
2017年14篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

站长大人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家保定知名玻璃钢雕塑服务至上保定玻璃钢海豚雕塑厂家东营玻璃钢花盆批发驻马店玻璃钢雕塑嵊州玻璃钢雕塑厂家河北通用玻璃钢花盆河南节庆商场美陈批发价重庆大型玻璃钢雕塑图片知名玻璃钢雕塑厂家供应玻璃钢雕塑摆件怎么样舞钢商场美陈绿植墙玻璃钢音乐系列雕塑宝鸡价值观玻璃钢景观雕塑嘉峪关景区玻璃钢雕塑厂家选购玻璃钢雕塑河源玻璃钢景观雕塑材料湘潭玻璃钢大白菜雕塑蒙城商场主题美陈灰太狼玻璃钢雕塑郑州仿铜玻璃钢雕塑定制江门玻璃钢透光雕塑现货河南仿铜玻璃钢雕塑供应商苏州商场节日活动美陈布置苏家屯玻璃钢雕塑厂家商场美陈装饰件韶关玻璃钢红旗雕塑萍乡步行街玻璃钢雕塑制作能透光玻璃钢雕塑摆件宁夏玻璃钢卡通雕塑价格空心的玻璃钢雕塑可以灌水泥吗香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化