首页 > 编程语言 >初探Java框架

初探Java框架

时间:2023-04-26 12:55:46浏览次数:61  
标签:Java 框架 开发人员 Spring 开发 应用 初探

(一)什么是 Java 框架?

1.概念

Java框架就是一些类和接口的集合,通过这些类和接口协调来完成一系列的程序实现。框架又叫做开发中的半成品,它不能提供整个WEB应用程序的所有东西,但是有了框架,我们就可以集中精力进行业务逻辑的开发而不用去关心它的技术实现以及一些辅助的业务逻辑。说白了Java框架就是封装好方便程序员操作的类,使项目的开发更简单,维护起来也更容易。

Java 框架是开发人员在用 Java 编程语言来创建应用时,所使用的一系列预编写代码。

Java 框架是 Java 编程语言所特有的,是一个用于开发软件应用和 Java 程序的 Java 平台。

Java 框架由一系列可重用的预编写代码组成,它们起着模板的作用,开发人员可以根据需要通过填充自定义代码来创建应用。

框架创建后可反复使用,这样开发人员即可以在一定的结构上来编写应用,而无需从头开始手动创建。

Java 框架中可以包含预定义类(例如对象类别)和函数,用于处理、输入和管理硬件设备,以及与系统软件进行交互。当然,具体的框架内容要取决于框架的类型、Java 开发人员的技能水平、他们所要完成的工作以及自己的偏好。

2.原因

因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。

而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。

还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。

 

3.早期Java EE开发弊端

在早期Java EE应用开发中,企业开发人员是利用JSP+Servlet技术进行软件应用和系统开发的,使用该技术会有以下两个弊端。

(1)软件应用和系统可维护性差如果全部采用JSP+Servlet技术进行软件的开发,因为分层不够清晰,业务逻辑的实现无法单独分离出来,从而造成系统后期维护困难。

(2)代码重用性低,企业希望以最快的速度,开发出最稳定、最实用的软件。如果系统不使用框架,每次开发系统都需要重新开发,需要投入大量的人力物力,并且重新开发的代码可能具有更多的漏洞,这就增加了系统出错的风险。

4.框架优势

相比于使用JSP+Servlet技术进行软件开发,使用框架有以下优势。

1.提高开发效率:如果采用成熟、稳健的框架,那么一些通用的基础工作,如事务处理、安全性、数据流控制等都可以交给框架处理,程序员只需要集中精力完成系统的业务逻辑设计,降低了开发难度。

2.提高代码规范性和可维护性:当多人协同进行开发时,代码的规范性和可维护性就变得非常重要。成熟的框架都有严格的代码规范,能保证团队整体的开发风格统一。

3.提高软件性能:使用框架进行软件开发,可以减少程序中的冗余代码。例如,使用Spring框架开发时,通过Spring的IOC特性,可以将对象之间的依赖关系交给Spring控制,方便解耦,简化开发;使用MyBatis框架开发时,MyBatis提供了XML标签,支持动态的SQL,开发人员无需在类中编写大量的SQL语句,只需要在配置文件中进行配置即可。

(二)浅谈Java框架

1.过去的Java框架

在2000年初期,Java企业级开发中三大框架是:

Struts、Spring和 Hibernate。

Struts:是一个由Apache Software  Foundation开发的一个用于创建企业级 Java Web应用的MVC框架。Struts帮助开发者分离应用的业务逻辑、数据和表示层,从而实现更高的可维护性和可扩展性。

Spring:一个广泛使用的Java开发框架,提供了对企业级应用开发的全面支持。Spring核心特点是控制反转(IoC)和依赖注入(DI),可以帮助开发者更好地组织和管理应用的不同组件。

Hibernate:一个用于将Java对象映射到关系型数据库的对象关系映射(ORM)框架。Hibernate让开发者能够以面向对象的方式处理持久化数据,简化了数据库访问和操作的复杂性。

2.现在的Java框架

在当前Java开发领域,主要的三大框架是:

Spring Boot、Spring Cloud和MyBatis。

Spring Boot:基于Spring框架的一个扩展,提供了一种简化Java企业级应用开发的方法。Spring Boot提供了很多预先配置的模板和约定,可以让开发者更快速地创建、部署和运行Java应用。

Spring Cloud:一个基于Spring Boot 的微服务架构开发框架。它提供了一套完整的微服务解决方案,包括服务发现、配置中心、API 网关、负载均衡、熔断降级等功能,帮助开发者快速构建可扩展的微服务应用。

MyBatis:一个用于Java应用的持久层框架,它提供了简化的SQL映射和事务管理。MyBatis支持自定义SQL、存储过程以及高级映射,使得数据库操作更加灵活和高效。

 

标签:Java,框架,开发人员,Spring,开发,应用,初探
From: https://www.cnblogs.com/imreW/p/17355582.html

相关文章

  • Java中抽象类和接口的区别?
    什么是抽象类?抽象类是对具体概念的抽象抽象类本质是为了继承只能被public或默认修饰行为层面抽象出来抽象方法抽象类的注意事项抽象类不可以被直接实例化抽象类中可以存在构造方法抽象类可以存在普通方法抽象方法的注意抽象方法必须定义在抽象类中仅声明实现......
  • 若依vue框架添加kotlin依赖,实现kotlin和java混合编译
    第一步:在最外部pom.xml文件添加版本号和依赖管理properties添加版本号<kotlin.version>1.4.21</kotlin.version><!--启用kotlin增量编译--><kotlin.compiler.incremental>true</kotlin.compiler.incremental>dependencyManagement添加依赖管理<!-......
  • 【FAQ】关于JavaScript版本的华为地图服务Map的点击事件与Marker的点击事件存在冲突的
    一. 问题描述创建地图对象,并添加marker标记,对map和marker均添加了点击事件;<body><script>functioninitMap(){//创建地图对象constmap=newHWMapJsSDK.HWMap(document.getElementById('map'),{center:{lat:39.36322,lng:......
  • 动力节点老杜Vue框架教程【三】Vue组件化
    Vue.js是一个渐进式MVVM框架,目前被广泛使用,也成为前端中最火爆的框架Vue可以按照实际需要逐步进阶使用更多特性,也是前端的必备技能动力节点老杜的Vue2+3全家桶教程已经上线咯!学习地址:https://www.bilibili.com/video/BV17h41137i4/视频将从Vue2开始讲解,一步一个案例,知识点......
  • 动力节点老杜Vue框架教程【三】Vue组件化
    Vue.js是一个渐进式MVVM框架,目前被广泛使用,也成为前端中最火爆的框架Vue可以按照实际需要逐步进阶使用更多特性,也是前端的必备技能动力节点老杜的Vue2+3全家桶教程已经上线咯!学习地址:https://www.bilibili.com/video/BV17h41137i4/视频将从Vue2开始讲解,一步一个案例,知识点由浅入......
  • java面试题--核心知识
    一、HashMap和HashTable的区别?二、HashMap有哪些线程安全的方式?三、HashMap在扩容上有哪些优化? 难点三、为什么ConcurrentHashMap是线程安全的?四、java锁机制?无锁偏向锁轻量级锁重量级锁五、对AQS抽象队列同步器的理解?https://baijiahao.baidu.com/s?id=1709429801......
  • Java8 教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介Java8(又称为jdk1.8)是Java语言开发的一个主要版本。Java8是oracle公司于2014年3月发布,可以看成是自Java5以来最具革命性的版本。Java8为Java语言、编译器、类库、开发工具与JVM带来了大量新特性。Java8入门教程-从简单的步骤了解Java8,从基本到高级概......
  • JavaScript方法获取屏幕缩放比例与分辨率
    我们在开发一些前端页面的时候,会考虑到一些设备屏幕的兼容性问题,这个时候需要根据屏幕的分辨率以及缩放比例来进行实时的宽高设定,所以我总结了用JavaScript方法进行获取用户电脑屏幕的分辨率和缩放比例的数据:  获取屏幕缩放比例//获取屏幕缩放比例functiongetRatio(){......
  • Java的JDBC链接
    importjava.sql.*;//导入数据库操作的包,这种方式是将sql下面的所有的实体类都进行导入publicclassJDBCConnect{staticConnectionconnection=null;//characterEncoding=utf8设置编码格式为utf8,serverTimezone=GMT+8设置时区,在mysql8.0+的url需要添加时区,该......
  • java-计算发送时间
    packagecn.com.fl.service.utils;importcn.com.doone.tocloud.tools.MyLogUtil;importcn.com.doone.tocloud.tools.MyLogger;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.*;publicclassComputeSendTimeUtil{......