java框架整理

1. java主流框架

1.1 分层的概念

三层架构:一般应用可分为三层,表现层、业务逻辑层、持久化层。

根据MVC的概念,又可分为显示层、控制层、模型层。

不同的分层方法原则相同,为了解耦。

1.2 不同层对应的框架

表现层(MVC):sping、spingMVC、Struts2、

持久化层:Mybatis框架、Hibernate框架

一栈式:Springboot框架

1.3 框架演化

事实上,Java Web主流框架是有一个演变的过程的,原来最常用的Java Web框架是SSH(Struts + Spring + Hibernate)。后来随着Spring的强大以及Struts漏洞上的等等问题,演变成为了Spring + SpringMVC + Hibernate/Mybatis。互联网这块比较常见的是Mybatis。再后来也慢慢演变为了Springboot + Mybatis。

阶段一:Servlet阶段
阶段二:SSH(Spring + Structs + Hibernate)阶段
阶段三:SSM阶段(Spring + SpringMVC + Mybatis)阶段
阶段四:微服务阶段(Springboot + Mybatis)阶段

2. SSM核心框架概述

Spring扮演Controller角色,SpringMVC扮演View角色(当然,小型系统,可直接采用SpringMVC即可),Mybatis扮演DB访问技术。

2.1 Spring框架

Spring框架目前是JavaWeb开发的主流框架,也可以说是诸多企业的必选框架,它大致包括六大模块。

1.Spring核心容器。该容器是Spring框架最核心部分,它管理着Spring运用中bean的创建、配置和管理等
2.Spring AOP。该模块为面向切面和DI(依赖注入)提供了很好的支持
3.数据库访问与集成模块
4.Web与远程调用技术
5.Instrument模块
6.Test模块

Spring 的优良特性

非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API
控制反转:IOC——Inversion of Control,指的是将对象的创建权交给 Spring 去创建。使用 Spring 之前,对象的创建都是由我们自己在代码中new创建。而使用 Spring 之后。对象的创建都是给了 Spring 框架。
依赖注入:DI——Dependency Injection,是指依赖的对象不需要手动调用 setXX 方法去设置,而是通过配置赋值。
面向切面编程:Aspect Oriented Programming——AOP
容器:Spring 是一个容器,因为它包含并且管理应用对象的生命周期
组件化:Spring 实现了使用简单的组件配置组合成一个复杂的应用。在 Spring 中可以使用XML和Java注解组合这些对象。
一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上 Spring 自身也提供了表现层的 SpringMVC 和持久层的 Spring JDBC)

2.2 SpringMVC

SpringMVC 是类似于 Struts2 的一个 MVC 框架,在实际开发中,接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示,但是上手难度却比 Struts2 简单多了。而且由于 Struts2 所暴露出来的安全问题,SpringMVC 已经成为了大多数企业优先选择的框架。

SpringMVC,它是属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。

2.3 Mybatis框架

MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

1.根据Mybatis源码,将其抽象为三层:基础支持层,核心处理层和接口层
2.基础支持层包括:数据源、事务管理、日志、类型转换、缓存、Bind、解析器等
3.核心处理层包括:配置解析、配置映射、SQL解析、SQL执行、结果集映射、插件等
4.接口层主要提供JAVA API

3. SpringBoot框架

SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

SpringBoot所具备的特征有:

(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。

SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。

SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明:

前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它们都是用Java语言编写的,
渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,同时前端开发还会使用到
Bootstrap、AngularJS、JQuery等;在浏览器的数据传输格式上采用Json,非xml,
同时提供RESTfulAPI;SpringMVC框架用于数据到达服务器后处理请求;到数据访问层
主要有Hibernate、MyBatis、JPA等持久层框架;数据库常用MySQL;
开发工具推荐IntelliJIDEA。

参考:

  1. my coding.net
  2. 我的GITHUB
  3. http://www.bjpowernode.com/hot/500.html
  4. 框架演化
  5. https://www.jianshu.com/p/ab1fe57dfb72
  6. https://baike.baidu.com/item/Spring%20Boot/20249767?fr=aladdin
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

baibingql

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

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

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

打赏作者

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

抵扣说明:

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

余额充值