jfinal框架的优缺点 java三大主流框架
- 开发语言
- 2023-08-13
- 397
其实jfinal框架的优缺点的问题并不复杂,但是又很多的朋友都不太了解java三大主流框架,因此呢,今天小编就来为大家分享jfinal框架的优缺点的一些知识,希望可以帮...
其实jfinal框架的优缺点的问题并不复杂,但是又很多的朋友都不太了解java三大主流框架,因此呢,今天小编就来为大家分享jfinal框架的优缺点的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
Javaweb开发,大企业普遍用哪些常用框架界面
我来回答一下,具体用什么框架跟项目规模和大小有很大的关系,下面从单体应用架构和微服务架构两个方面讲一下。
一、单体应用架构单体应用架构比较简单,普遍用到就是五大框架,包括mvc层、持久层等。由于这五大框架是web开发框架学习的基础,相对于微服务框架比较简单,在此简单介绍一下。
Spring:ioc容器和bean管理,解决的是业务逻辑层和其他各层的松耦合问题,也起到纽带和桥梁的作用。Springmvc:目前使用最普遍和最流行的mvc框架。Struts2:也是一款类似于Springmvc功能的mvc框架,它的前身struts1基本没人使用了。struts2相较于springmvc有诸多劣势,包括自身漏洞门问题,慢慢走向没落。现在使用的大部分都是维护的老项目老系统。hibernate:重量级的面向对象的持久层框架,其实它的功能非常强大,由于其自身功能的强大在使用和配置上比较复杂,很多程序员待之以鄙夷。hibernate用于中小系统项目还是很合适的,开发效率较高。mybatis:是一款中低量级别的半自动的持久层框架,由于自身使用的灵活性和易于aql调优,目前还是非常流行的,很多大型项目都用到它。二、微服务架构微服务架构相对于单体应用架构复杂些,尤其是微服务架构用到分布式应用架构就更为复杂。
springboot:微服务基础框架,由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapidapplicationdevelopment)成为领导者。特点:1.创建独立的Spring应用程序2.嵌入的Tomcat,无需部署WAR文件3.简化Maven配置4.自动配置Spring5.提供生产就绪型功能,如指标,健康检查和外部配置6.绝对没有代码生成和对XML没有要求配置。一句话总结:使用springboot可以高效快速开发web应用,而且可以不使用单体应用开发框架中那些繁杂的xml配置。Dubbo:Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别WebService模式中的WSdl,以服务者与消费者的方式在dubbo上注册)其核心部分包含:1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。2.集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。3.自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。SpringCloud:用官方文档的说明:SpringCloud为开发人员提供了快速构建分布式系统中的一些通用模式(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调导致了锅炉板模式,并且使用SpringCloud开发人员可以快速地站起来实现这些模式的服务和应用程序。它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心和受管平台,如CloudFoundry。以上就是公司普遍使用的一些框架,当然还有其他的一些框架,比如jFinal、ejb、公司自研封装的一些框架等等,不管用什么框架,技术选型的前提就是满足需求,学习成本低,开发效率高,伸缩性能和可扩展性能要好等等。
以上,你都用过吗?欢迎留言讨论。
【无情怀,不编码。做一个有情怀的码农,虽千万人,吾往矣!】关注java自学、java技术、求职领域,为你导航领路,指点迷津,分享学习感受和技能经验。欢迎点赞、转发、关注和留言,任何java学习或求职面试问题可以留言私信,有问必答。Java开发如果不让使用spring框架,会有多大影响
这个想法不错!如果没有spring,我们正常的一个项目应该怎么搭建和开发?
不允许使用Spring框架意味着搭建的项目不允许使用SpringBoot、SpringMVC、Spring这些Spring家族的框架,既然如此ORM框架我们也不要使用,在这样的限制条件下,项目应该如何搭建?日常CRUD应该如何开发?
心动不如行动,开始搭建,先创建一个简单的maven项目no_spring_example:
这个项目我们需要它具备如下的几个能力:
1、能够提供http接口访问能力;
2、能够操作MySQL数据库,支持事务,支持连接池;
3、能够操作redis;
4、可以部署在tomcat容器。
开始搭建中。。。
竟然花了我将近2个小时的时间,终于跑起来了,先看看项目整体架子:
相关包介绍:
org.example.conf:
DruidUtil:数据源配置,采用的是阿里巴巴开源的druid;MysqlBaseUtil:Mysql数据库的增、删、改、查基本操作,支持单次和批量;RedisUtil:redis操作工具类,采用的是JedisPool。org.example.dao:
Test1Dao:这个就是对数据库里test1表的操作。org.example.dispatcher:
StartupServlet:启动类Servlet,利用loda-on-startup来初始化加载WEB-INF/config目录的一些配置文件;Config:即加载servlet.conf文件中的配置信息,比如MySQL连接信息、redis连接信息org.example.filter:
GolbalFilter:全局过滤器,web三大组件之一;org.example.servlet:
Test1AddServlet:新增数据api;让我们把它运行到tomcat容器中,然后访问接口:http://localhost:8080/no_spring_example_war/test1/add.do
返回成功了,查看数据库表数据:
这样我们的数据库操作就通了,一个完全没有Spring相关框架参与的小架子就搭建完毕!
由于篇幅原因,涉及到redis操作、数据库事务并没有展现,感兴趣的同学可以私信我获取该项目源代码,让我们一起回忆青春~
回到问题本身,没有spring框架,对我们开发有什么影响?
结合上面这个项目来看,确实需要我们自己做的事情比较多,比如:
参数的获取、校验、序列化成对象;数据的返回,反序列化成json;数据库的操作需要我们手写sql;连接池需要我们自己初始化,事务需要我们自己回滚;只能使用Filter、Interceptor,不再有强大的AOP,这个也需要你自己去实现;随着业务的复杂,我们需要集成其他功能,例如异步、中间件等都需要我们自己去开发;用惯了Spring框架的我们,或许这个时候才知道它的好吧~
不过话说回来,如果真的在实际工作中不用Spring框架完成一个项目的话,你的基础能力一定会有很大的提升,包括工具类的抽取、对象的封装,基础组件的使用以及理解等,只要你是一个有追求的程序员~
框架虽好用,但是却容易蒙住我们的双眼。
最后,给你们再看一眼曾经多么熟悉的web.xml:
好了,文章到这里就结束啦,如果本次分享的jfinal框架的优缺点和java三大主流框架问题对您有所帮助,还望关注下本站哦!
本文链接:http://xinin56.com/kaifa/989.html