现在这个年代了,还不会 Spring 吗?
Spring 的今生
Spring 是什么
轻和重,都是相对而言,我会在下文讲到 EJB 的时候解释何为轻、何为重。
Java SE 框架有很多,本文第三部分内容会阐述它们的演变之路。
为什么要用 Spring?
Spring 为什么这么火
Spring Boot
Spring Cloud
Spring Cloud Data Flow
Spring 其他资源
架构设计的演变之路
单一应用架构
垂直应用架构
分布式服务架构
流动计算架构
Java 开发的主流框架演变之路
JSP + Servlet + JavaBean
JSP = JavaServer Pages,即前端页面的控制;
Servlet = Server applet,即服务器端的应用程序;
JavaBean,就是我们定义的对象,当我们想用这些类来描述现实事物时,会定义属性、get/set 方法,父类的具体实现等等。
这个框架的主要问题在于:
一、效率低;二、性能低。
在用2.5及之前的版本时,也就意味着写 N 多个 xml 文件;
后面引入注解之后,依然要写 N 多个注解,非常麻烦。
MVC = Model View Controller
Browser: 提交请求,接收响应Controller: 处理请求并发送到数据库去查询 Model:数据库里的那些表View: 前端框架
用户在浏览器中发送请求之后,
browser 把这个请求发给了 controller,
需要它做一些处理,
然后发送到数据库中去查询,
得到结果之后,
把结果发给 View 层进行渲染,
用 html 的标签好看的表示出来,
渲染之后的结果再返回给 controller,
再返回到浏览器里显示出来。
比如在我们在点外卖时,你发送请求给服务员,服务员就是 controller 层,他需要处理订单比如查一下仓库里还有没有这些原材料,排好先后顺序再交给厨师等等,厨师做好之后他还需要再包装一下再送到你手上。
后面所有框架都是依托于 MVC 这种方式来设计的。
EJB - Enterprise JavaBeans
什么是重:在使用的时候,有过多的接口和依赖,侵入性比较强
什么是侵入性:在写代码的时候需要去继承或实现当前框架里的很多 class / interface,这就是侵入性比较强。侵入性强也就是和这个框架的耦合比较高,开发时会比较麻烦。
SSH = Spring + Struts + Hibernate
Struts 有自己的配置文件,叫 struts.xml;
Hibernate 有自己的配置文件,叫 hibernate.cfg.xml
Spring 有自己的配置文件
还有个 mapping 的一一映射的文件...
SSM = Spring + SpringMVC + MyBatis
Spring Boot
点在看,么么哒~