两大核心利器:
- IOC(控制反转)
- AOP(面向切面)
为Java应用程序开发提供了全面的基础架构支持。包含很多开箱即用的模块,如:SpringJDBC、SpringSecurity、SpringAOP、SpringORM,提高了应用开发的效率。
Spring MVC
一个网站通常有前台页面和后台处理逻辑,为了打通这层关系,衍生出类似 struts2 框架。专门解决前台页面与后端数据处理之间的映射关系。
当然,Spring 家族为了维护其生态地位,把这种 MVC
模式的优势吸收了进来,加以改造,于是就诞生了 Spring MVC
Spring MVC是 Spring 的 web 框架。
通过Dispatcher Servlet
、ModelAndView
和View Resolver
,开发web应用变得很容易。主要针对的是带页面的系统开发,URL路由、Session、模板引擎、静态Web资源等等。
SpringMVC = Struts2 + Spring
处理流程:
Spring MVC 框架与其他 Web MVC 框架一样,是请求驱动的,围绕一个中央 Servlet 设计,该 Servlet 将请求分派给控制器并提供其他功能以促进 Web 应用程序的开发。然而,Spring 的 DispatcherServlet 不仅仅如此。它与 Spring IoC 容器完全集成,因此允许您使用 Spring 的其他功能。
Spring Boot
Spring 配置复杂,xml文件有大量的bean定义,开发起来繁琐。
另外,分布式时代,微服务盛行,为了统一后端框架,便于运维维护,开始推行 Spring Boot。
Spring Boot 是Spring框架的扩展,提供更加 丰富的注解
,可以参考之前文章 Spring Boot 常用注解一网打尽
同时,将Servlet容器集成到框架中,如:Tomcat
、Jetty
、Undertow
,我们开发时不需要再手动在 IDEA 中配置 tomcat 的路径,只需要main函数
启动。
Spring Boot 框架相对于 Spring MVC 框架来说,更专注于后端接口,不开发前端页面,推崇前后分离。
根据 约定胜于配置 原则,与市场主流的开源框架打通, 设计了 Starter
和 AutoConfiguration
机制,简化配置流程,通过简单的jar包引入,快速具备组件集成能力。大大提高了程序员的开发效率。
下面列举了常用的 Starter 组件:
- spring-boot-starter:核心启动器,包含了自动配置、日志和YAML
- spring-boot-starter-web:构建Web应用,使用 Tomcat 作为内嵌容器
- spring-boot-starter-amqp:通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol
- spring-boot-starter-aop:面向方面的编程即AOP,包括spring-aop和AspectJ
- spring-boot-starter-groovy-templates:支持Groovy模板引擎
- spring-boot-starter-data-redis:使用Redis 和 Spring Data Redis,以及Jedis 客户端
- spring-boot-starter-data-elasticsearch:支持ElasticSearch搜索和分析引擎
- spring-boot-starter-data-jpa:支持 Java Persistence API
- spring-boot-starter-data-mongodb:支持MongoDB数据
- spring-boot-starter-logging:Spring Boot默认的日志框架Logback
- 更多,这里就不一一列举了
历史文章:
整理了一份大厂常考面试题,这份pdf包括 Java基础、Java并发、JVM、MySQL、Redis、Spring、MyBatis、Kafka、设计模式等面试题,分享给大家。
下载地址:百度云链接:https://pan.baidu.com/s/1XHT4ppXTp430MEMW2D0-Bg 提取码: s3ab
Spring Cloud
分布式时代,系统间需要打通、组成集群,从而具备更大吞吐能力。我们会将一个单体项目拆分成多个微服务,每个微服务系统独立技术选型、开发、部署上线,各个微服务之间打通、相互协调,从而完成全流程服务。
当然,为了降低不同微服务系统间的差异化接入成本,通常都是统一基于 Spring Boot 构建微服务系统。
Spring Cloud 将多个 Spring Boot 单体微服务整合、管理,是一系列框架的有序集合,利用Spring Boot的开发便利性简化了分布式系统基础设施的开发。
Spring Cloud 关注 微服务整合、管理的服务治理框架,具有生态定位,提供丰富的组件框架,如:
- 服务注册、发现
- 服务间调用
- 负载均衡
- 网关
结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
[外链图片转存中…(img-LPtQgIvg-1714223599869)]
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!