java常用的十个框架

1255-tbx 1255-tbx     2023-05-06     642

关键词:

Java中有十个常用框架:

springMVC,spring,mybatis,Dubbo,Maven,RabbiMQ,Log4j,Ehcache,Refis,Shiro

 

一:ring MVC:是一种基于Java实现了web MVC设计模式的请求驱动类型的轻量级WEB框架

model(模型)封装了应用程序的数据和一般他们会组成的POJO

view(视图)是负责程序按模型数据和它生成的HTML输出,

controller(控制器)负责处理用户的请求并且建立适当的模型,并且把它传递给视图渲染

spring的web模型-视图-控制器(MVC)框架是围绕着处理所有HTTP请求和响应DispatcherServlet的设计。

具体步骤:

1.用户发送请求----》到前端控制器,前端控制器根据请求的信息(如URL)来决定选择那一个页面控制器进行处理并把请求委托给它

2.页面控制器接收到请求后,进行功能处理,首先需要收集绑定请求参数到一个对象,这个对象在springwebMVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理,处理完毕后返回一个modelandview(模型数据和逻辑视图名)

3,前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入一便视图渲染

4.前端控制器再次收回控制权,将响应返回给用户

二:spring

1.IOC容器:是具有依赖注入功能的容器,负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖

在spring中BeanFactory是IOC容器 的实际代表

2.AOP:是将于业务无关,但是为业务模型所共同调用的逻辑或责任封装起来,以便减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操控性和可维护性,AOP代表的是横向的关系

AOP用来封装横切关注点,可以在以下场景使用:

Authentication权限Caching缓存Context passing内容传递Error handling错误处理lazyloading 懒加载Debuging 调试loggging,tracing,profiling and monitoring 记录跟踪 优化 校准Performance optimization 性能优化Perskstence 持久化Resource pooling 资源池Synchronization 同步Transactions事务

三:mybatis:是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。几乎消除了所有的jdbc代码和参数的手工设置以及结果集的检索。mybatis使用简单的xml或者注解用于配置和原始映射,将接口和Java的POJOs(Plain Old JavaObject,普通的Java对象)映射成数据库中的记录

总体流程:

1.加载配置并初始化触发条件:加载配置文件将SQL的配置信息加载成为一个个MAppedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中

2.接收调用请求 触发条件:调用mybatis提供的API传入参数:为SQL的ID和传入参数对象处理过程:将请求传递给下层的请求处理层进行处理

3.处理操作请求 触发条件:API接口层传递请求过来:传入参数:为SQL的ID和传入参数对象

处理过程:

a。根据SQL的ID查找对应的MappedStatement对象

b。根据传入参数对象解析MappedSttement对象,得到最终要执行的SQL和执行传入参数

c。获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果

d。根据MAppedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果

e。释放连接资源

四.Dubbo

是一个分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案。以及SOA服务治理方案

4.返回处理结果并将最终的处理结果返回

五、Maven

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。

 

java日期处理易踩的十个坑

前言整理了Java日期处理的十个坑,希望对大家有帮助。1.用Calendar设置时间的坑反例:Calendarc=Calendar.getInstance();c.set(Calendar.HOUR,10);System.out.println(c.getTime());运行结果:ThuMar2622:28:05GMT+08:00解析:我们设置了10小时,但运行结果是22点... 查看详情

值得收藏面试会用到的十个常用的数组方法js实现(代码片段)

【手撕代码系列】之十个常用的数组方法JS实现(一)🚀通俗易懂的实现方式,帮助我们认识相应的方法📚收藏本系列,基础进阶两不误🎉本系列持续更新,欢迎查看线上地址写在前面代码实现系... 查看详情

本学期计划及其对构建之法的十个问题

       本学期我读的另外一本书是《程序员修炼三部曲》,程序员修炼三部曲》丛书包含了三个部分,旨在帮助程序员解决日常工作中遇到的一些具体问题,内容覆盖了对于现代软件开发非常重要的基础知... 查看详情

2020年精心收集的十个java开发网站

不管谁手里都藏着些许自己觉得好用的网站,今天专门找大厂出来的同学同事觉得好用的网站分享给大家,如果这里有你没收藏还不知道觉得还蛮有用的网站可以给我点个赞,大家一起进步,一起学习,同时也可以分享你觉得好... 查看详情

在java中记录日志的十个小建议(代码片段)

JAVA日志管理既是一门科学,又是一门艺术。科学的部分是指了解写日志的工具以及其API,而选择日志的格式,消息的格式,日志记录的内容,哪种消息对应于哪一种日志级别,则完全是基于经验。从过去的实践证明,JAVA的日志... 查看详情

级数的十个重要公式

查看详情

2019年成为更好的java开发者的十个提示

我经常收到读者发来的电子邮件,要求我告诉他们如何成为更好的Java开发人员,他们应该学习什么,以及他们可以成为RockstarJava开发人员的工作领域和方向有哪些?在过去几年中单独回答之后,我想了几点... 查看详情

djangorestframework的十个组件

...页面,可以方便的测试自己的API。简单说一下这个工具包的十个功能:1.权限2.认证3.访问频率4.序列化(使用最多)5.路由6.视图7.分页器8.解析器9.渲染器10.版本 查看详情

值得收藏面试会用到的十个常用的数组方法js实现(代码片段)

【手撕代码系列】之十个常用的数组方法JS实现(一)🚀通俗易懂的实现方式,帮助我们认识相应的方法📚收藏本系列,基础进阶两不误🎉本系列持续更新,欢迎查看线上地址写在前面代码实现系... 查看详情

提高编码技能成为更好的开发者的十个提示

许多Java开发人员问我如何成为一个更好的程序员,如何提高我的编程技能,或者我擅长Java但在解决问题的技能上不那么好等等。这是现实,今天的时代充满了语言专家而不是真正的程序员。它易于理解Java编程语言的... 查看详情

激活大脑的十个方法

激活大脑的十个方法  1.用蓝色装饰环境。  色彩心理学研究发现,看到两次蓝色物体,人的想法会更积极。快给自己营造一个“蓝色港湾”吧。  2.适当喝点酒。  美国伊利诺伊大学芝加哥分校的研究人员发现,... 查看详情

str(字符串)的十个功能

str(字符串)的十个功能 upper字符串转大写lower字符串转小写strip去两侧的空格,换行符,制表符等等,指定要去除的内容split按照空格分切,还可以指定分隔符,返回值是一个列表数据类型replace替换,能指定位置替换join以一个... 查看详情

34.js开发者必须知道的十个es6新特性

JS开发者必须知道的十个ES6新特性这是为忙碌的开发者准备的ES6中最棒的十个特性(无特定顺序):默认参数模版表达式多行字符串拆包表达式改进的对象表达式箭头函数 =&>Promise块级作用域的let和const类模块化注意:这... 查看详情

iphone开发常问的十个问题

iPhone开发常问的十个问题前言今天去stackoverflow.com上看了一下iPhone标签下排名最高的10个问题,将它们整理出来,希望这些常见问题能帮到一些iPhone开发的初学者。本来想把答案也翻译过来的,后来发现答案资料通常都比较复杂... 查看详情

网页搜索(百度谷歌)你不得不知道的十个小技巧(代码片段)

网页搜索(百度谷歌)你不得不知道的十个小技巧百度搜索广告多,谷歌搜索搜不到东西,这时候,你得问问自己——你,用对姿势了么?文章目录网页搜索(百度谷歌)你不得不知道的十个小... 查看详情

克服失眠的十个高招

一、不要补觉:如果你在夜里醒来过了15分钟还不能重新入睡,那就打开收音机听听广播,等有了睡意再关掉广播。记住:不管你在夜里睡得好不好都要在第二天早上按时起床,即便是周末也不能试图补补觉,因为这种做法对克... 查看详情

在文件系统linux命令中查找最大的十个文件

from:http://www.cyberciti.biz/faq/how-do-i-find-the-largest-filesdirectories-on-a-linuxunixbsd-filesystem/du-a/var|sort-n-r|head-n10 查看详情

微服务指南走北:你不愿意做微服务架构的十个理由

近段时间离职,跟同事们讲解我之前所做的微服务相关产品,对于同事们提出的问题,做了如下整理出来,加上自己的理解,分享出来跟大家一起探讨下:问题预览我为什么要换微服务?能给我带来什... 查看详情