扁平风格网站 模板免费下载,手机制作网页链接的软件,学校网站进不去怎么办,购物网址目录
JAVA
框架
javaEE
spring
springmvc
springboot
SSM
SSH
maven JAVA
一种面向对象、高级编程语言#xff0c;Python也是高级编程语言#xff1b;不是框架(框架#xff1a;一般用于大型复杂需求项目#xff0c;用于快速开发)具有三大特性#xff0c;所谓Jav…目录
JAVA
框架
javaEE
spring
springmvc
springboot
SSM
SSH
maven JAVA
一种面向对象、高级编程语言Python也是高级编程语言不是框架(框架一般用于大型复杂需求项目用于快速开发)具有三大特性所谓Java编程也始终是围绕三大特性进行的Java提供了基本的语言特性和类库可以在各种操作系统和硬件平台上运行目前互联网大小厂等绝大部分都在使用Java进行企业级开发(少部分也有用Python的)
框架 什么是框架 所谓框架其实就是一个半成品的软件项目是一个可复用的设计构件。我们可以在这些半成品的基础之上来开发我们自己的应用
javaEE
Java EE是Java平台的一个扩展一种框架专门用于开发企业级应用程序。Java EE适用于开发大型、分布式、可扩展的企业级应用程序如企业级Web应用等提供了分布式计算、事务处理、安全性等一系列企业级功能(Java本身不提供Java EE中的企业级功能和组件但它可以用于开发这些功能尽管这不是最常见的使用方式。)Java EE包括EJBEnterprise JavaBeans、JPAJava Persistence API、JMSJava Message Service等组件支持Web应用程序和分布式系统的开发。与Java区别Java EE需要使用Java编程语言进行开发但Java编程语言并不一定要用于开发Java EE应用程序适用场景 javaee适用于企业级应用程序
spring
一种用于构建企业级Java应用程序的开源应用程序框架,Spring自2002年诞生至今已有近20年的历史. Spring 致力于 JavaEE 应用各层的解决方案(表现层、业务逻辑层、持久层但 Spring 并不是要取代那些已有的优秀框架而是可以高度开放的与其它优秀框架无缝整合) Spring 是一个分层的 full-stack一站式轻量级框架以 IocInversion of Control控制反转和 AOPAspect Oriented Programming面向切片编程为内核使用简单的 JavaBean 来完成以前只能由 EJBEnterprise Java Beans完成的工作取代了臃肿、低效的 EJB。 降低了使用 JavaEE API 的难度。Spring对JavaEE开发中难用的一些API进行了封装降低了这些API的使用难度。 用于开发Java应用程序的各个方面包括依赖注入Dependency Injection、面向切面编程Aspect-Oriented Programming、事务管理、数据访问、Web开发等 对比普通的java程序与Spring 中创建对象: 普通的Java程序开发者需要使用关键字new显式地在代码中创建和初始化对象。 List list new ArrayList(); 在Spring框架中对象的创建由Spring容器负责。开发者只需在配置文件或使用注解的方式中声明对象的依赖关系Spring容器会根据配置信息自动创建和管理对象的生命周期。 Spring简化了应用系统的开发IoC和AOP是它的两大核心理念。IoC容器用来管理组件和注入依赖AOP进一步降低了模块的耦合性提高了重用性和开发效率。 很容易和其他库整合如与数据库处理的相关框架mybatis整合 JavaEE框架与Spring框架的对比
相同点 都是流行的用于Java开发的框架
不同点对比 JavaEE适用于大型企业级应用程序而Spring更适合轻量级、灵活的应用程序 依赖项 JavaEE依赖于JEE规范如EJB、JPA等需要服务器支持。Spring是一个轻量级的框架依赖较少可以在非JEE环境中使用。 复杂性 JavaEE的模块化架构可能使其更复杂尤其是对于大型应用程序。Spring的IoC容器简化了应用程序开发使其更容易管理复杂性。 性能 JavaEE通常比Spring更快因为它基于更稳定的规范。对于小型应用程序Spring的性能足以满足大多数需求。 Spring框架具有以下核心特点
轻量级Spring框架采用了轻量级的设计思想它不依赖于庞大的第三方库或容器。Spring的核心库非常精简只提供了基本的功能和特性使得应用程序可以快速启动和运行。
控制反转IoC和依赖注入DISpring框架通过依赖注入实现了对象之间的松耦合。开发者无需自己管理对象的创建和组装而是通过配置或注解的方式由框架负责将依赖关系注入到对象中。这种松耦合的设计使得代码更具可测试性、可维护性和可扩展性。
面向切面编程AOPSpring框架提供了对面向切面编程的支持。AOP允许开发者在不修改原有代码的情况下通过定义切面来插入横切关注点例如日志记录、事务管理等。这种机制提高了代码的模块化和重用性同时将核心业务逻辑与横切关注点分离开来。
容器管理Spring框架提供了一个容器ApplicationContext来管理应用程序中的对象。容器负责创建、配置和管理对象的生命周期包括依赖注入、对象的初始化和销毁等。通过容器的管理开发者可以更方便地管理和组织应用程序的组件。
综合的解决方案Spring框架提供了一系列的模块和工具涵盖了各个方面的应用开发需求。例如Spring MVC用于构建Web应用程序Spring JDBC用于简化数据库访问Spring Security用于身份验证和授权等。这些模块能够根据项目的需求进行选择和集成提供了一套综合的解决方案。
高度可扩展Spring框架具有高度的可扩展性开发者可以通过扩展或自定义各种组件来满足特定的需求。Spring提供了扩展点和插件机制使得开发者可以根据项目的要求进行定制和扩展而无需改变框架的核心代码。
springmvc
Spring MVCModel-View-Controller是Spring框架中的一部分用于构建基于Java的Web应用程序是一个基于MVC设计模式的Web框架提供了一种结构化的方式来开发Web应用程序使开发人员能够更好地管理请求、处理逻辑和呈现视图。与spring的关系Spring MVC是Spring框架的一部分SpringMVC是Spring框架中的一个子模块所以SpringMVC和Spring整合时更加简单配置也更加容易。 SpringMVC的缺点 servlet API耦合难以脱离容器独立运行(为了运行代码必须安装web容器) 太过于细分开发效率低(比如bean需要挨个配置) 核心组件
注为了解耦通常又把中间件划分为三层 即表现层(控制层)业务逻辑层数据访问层 Model模型简单理解为逻辑处理模型代表应用程序的数据和业务逻辑。它可以是POJOPlain Old Java Object或者通过持久化框架与数据库交互。模型通常包含应用程序的状态和数据以及处理这些数据的方法。 View视图简单里面为页面视图负责呈现模型的数据给用户。它可以是一个JSP页面、Thymeleaf模板、HTML页面或其他类型的视图技术。视图负责展示数据给用户并与用户进行交互。 Controller控制器简单理解为提供http(s)接口控制器是模型和视图之间的协调者。它接收用户的请求并根据请求的内容选择适当的模型和视图进行处理。控制器通常包含处理请求的方法可以通过注解或配置进行映射。 springboot
一个用于简化和加速基于Spring框架的应用程序开发的开源框架与Java的关系 一种全新的框架(Java程序课程设计时也可以用springboot但属于“杀鸡焉用牛刀”)与spring的关系Springboot是建立在Spring框架之上的(简单理解为springboot ~ spring springmvc web服务器 等等) SpringMVC是基于spring的一个MVC框架。 springboot的基于spring的条件注册的一套快速开发整合包
与springmvc的关系 1、Spring MVC是Spring框架的一部分而Spring Boot则是建立在Spring框架之上的。Spring Boot可以与Spring MVC一起使用以简化Spring MVC应用程序的配置和部署。 2、Spring Boot内置了Tomcat、Jetty等Web服务器因此可以直接运行Spring MVC应用程序无需手动配置和部署外部服务器。 3、Spring Boot提供了自动配置机制可以根据应用程序的依赖和配置情况自动配置Spring MVC的相关组件和功能(大大减少了选项配置)简化了配置过程。 4、Spring Boot还提供了许多与Web开发相关的功能和插件例如Spring Boot Starter Web用于自动配置Web开发所需的依赖项。 二者区别 1、Spring Boot是一个全新的框架旨在简化Spring应用程序的开发和部署提供了自动配置、内嵌服务器等特性。而Spring MVC是Spring框架的一部分专注于构建Web应用程序。 2、Spring Boot关注于整个应用程序的配置和部署提供了一种约定优于配置的方式使得开发者可以更快地开发应用程序。而Spring MVC关注于处理Web请求和响应提供了一种基于MVC模式的架构。 3、Spring Boot可以与Spring MVC一起使用但它并不局限于Spring MVC也可以与其他Spring模块如Spring Data、Spring Security等以及第三方库进行集成。 4、Spring Boot提供了许多开箱即用的功能和插件使得开发人员可以更专注于业务逻辑的实现而Spring MVC则提供了一套Web开发的基础架构和规范 提供了一个约定大于配置的方式旨在最小化开发人员在配置方面的工作量提高开发效率。 约定大于配置 传统的软件开发往往需要大量的配置文件和手动配置步骤开发人员需要详细配置各种参数和选项以满足应用程序的需求。这种方式需要开发人员具备熟练的配置技能并且容易出现配置错误和冲突。比如springmvc 开发时需要多个配置文件极其容易出错而且程序部署时需要web容器如tomcat来部署运行。 约定大于配置的方式则通过事先定义一些默认约定和规则使得开发人员可以遵循这些约定而不需要进行显式的配置。这样可以大大简化配置的过程配置文件数量大大减少了Spring Boot提供了一系列的默认约定和自动配置机制开发人员只需要按照这些约定编写代码和组织项目结构就能够快速启动应用程序无需手动配置大量的Spring选项减少出错的可能性(如版本冲突大大减少了)并提高开发效率。例如Spring Boot默认约定了一些常见的目录结构如将应用程序的主类放置在特定的包路径下将静态资源放置在特定的目录下等。此外Spring Boot还提供了自动配置根据应用程序的依赖和环境自动配置Spring的各种组件和功能减少了手动配置的工作量。 传统方式 在传统的Web开发中配置一个URL映射到一个处理方法通常需要进行显式的配置。比如在Java Servlet中需要在web.xml配置文件中添加以下内容 servlet servlet-nameMyServlet/servlet-name servlet-classcom.test.MyServlet/servlet-class /servlet servlet-mapping servlet-nameMyServlet/servlet-name url-pattern/hello/url-pattern /servlet-mapping 在Spring Boot中可以在一个普通的Spring MVC控制器中定义一个处理方法并使用RequestMapping注解指定URL映射路径。示例如下 Controller public class MyTestController { RequestMapping(/hello) public String hello() { return Hello, World!; } } 与spring的区别 1springboot可以建立独立的spring应用程序。 2内嵌了如tomcatJetty和Undertow这样的容器也就是说可以直接跑起来用不着再做部署工作。 3无需再像spring那样写一堆繁琐的XML配置文件 4可以自动配置spring 5提供的POM可以简化maven的配置 Spring Boot 的优点 简化开发Spring Boot通过约定大于配置的原则提供了默认的配置和自动配置机制大大简化了开发过程。开发人员可以专注于业务逻辑的实现而无需花费过多时间和精力在繁琐的配置上。(代码少了、配置文件少了、不需要对第三方框架烦恼了、项目精简了对整个团队的开发和维护来说更大的节约了成本。) 快速启动Spring Boot提供了快速启动的能力开发人员可以快速地启动和运行应用程序减少了构建和部署的时间。它内置了常用的Servlet容器可以将应用程序打包为可执行的JAR文件直接在内嵌容器中运行。 自动装配Spring Boot 提供了自动装配机制根据应用程序的依赖关系和配置信息智能地自动配置 Spring 的各种组件和功能大大减少了开发人员的手动配置工作提高了开发效率。 开箱即用Spring Boot集成了许多常用的功能和组件如安全性、数据库访问、缓存、消息队列等。这些功能都是开箱即用的开发人员可以直接使用无需手动集成和配置。这大大简化了开发过程加快了应用程序的开发速度。 自动化依赖管理Spring Boot通过自动化依赖管理简化了依赖库的引入和版本管理。它提供了起步依赖Starter的概念开发人员只需添加相应的起步依赖Spring Boot会自动适配依赖的版本和配置简化了构建和管理项目的过程。 生态系统和社区支持Spring Boot 建立在Spring框架之上可以无缝集成 Spring 的各种功能和扩展。同时Spring Boot 还提供了大量的第三方库和插件可以方便地集成其他技术栈构建全栈式应用程序。 springboot的缺点 1修复bug较慢报错时难以定位。 2集成度较高不易于了解底层。 SSM
SSM是多个框架的组合简称SSM Spring SpringMVC Mybatis即Spring与Spring MVC以及Spring 与MyBatis整合开发。这三个框架整合起来适用于搭建各种大型的企业级应用系统 注 Mybatis 也是一种框架功能同JDBC 用于连接数据库进行数据处理。
注在学习SSM中发现SpringMVC是web项目常用的框架。但近几年随着springboot的使用springboot已经替代了springMVC了SSM Spring SpringBoot Mybatis。 SSM是一种常用的 Java EE 开发框架组合主要用于简化企业级应用开发。SSM 框架结合了 Spring 框架的依赖注入、控制反转和面向切面编程Spring MVC 作为模型视图控制器MyBatis 作为持久层框架简化了企业级应用的开发。交互图 应用比较广泛的 Java EE 企业级框架(JavaEE还有其他框架如SSH)
SSH
基本用途同SSM, SSH Spring Struts Hibernate 三大框架 注Struts 是一个优秀、开源、免费的 MVC 的框架 与SSM的关系 大约在2015年之前业内使用最多的Java三大框架是Struts、Spring和Hibernate 简称SSH。 2015年之后逐步被SpringMVC、Spring、MyBatis所取代简称SSM。 SSM之所以取代SSH在于Hibernate和MyBatis区别、SpringMVC和struts区别。 ✅Hibernate和MyBatis区别 总结来说就是 MyBatis小巧、方便、高效、简单、直接、半自动 Hibernate强大、方便、高效、复杂、绕弯子、全自动 举个形象的比喻 MyBatis机械工具使用方便拿来就用但工作还是要自己来作不过工具是活的怎么使由我决定。 Hibernate智能机器人但研发它学习、熟练度的成本很高工作都可以摆脱他了但仅限于它能做的事。 相同点: 都是实现了orm模式的数据访问层框架专门处理和数据库的交互。 不同点 a. Hibernate通常被认为是一款完全的ORM框架。我们使用Hibernate时可以一行SQL语句都不用写就能实现各种对数据库操作的意图。而Mybatis只是一款半完整的ORM框架使用Mybatis需要自己编写SQL语句因此Hibernate在功能和可移植性方面要强于Mybatis。 b. 相对于Hibernate来说Mybatis需要关注更多的细节更加接近jdbc的开发模式这使得Mybatis更加容易上手。 c. 在SQL优化方面Mybatis更加直接更加方便。 d. Mybatis比Hibernate更加小巧灵活对绝大多数项目来说Mybatis足以满足项目需求所以现在Mybatis比HIbernate更常用。 ✅struts和SpringMVC区别。 相同点 都是实现了mvc模式的 控制层框架可以专门处理和前端的交互。 不同点 a. Struts2中的Controller是多例的SpringMVCController是单例的所以SpringMVC是线程不安全的 b. SpringMVC是Spring框架中的一个子模块所以SpringMVC和Spring整合时更加简单配置也更加容易。 maven
简化依赖的jar管理。自动下载jar包和它所依赖的包这样可以保证了多人开发时jar版本不同的问题