当前位置:网站首页 > Java基础 > 正文

javaee需要java基础吗



一、SSM框架

1.spring是啥?

为简化企业级应用程序开发,它是一个给Java SE(Java 标准版本)/Java EE(Java 企业版本)做开发的应用框架。Spring 是一个超级粘合大平台,提供粘合其他技术和框架的能力。而且不管是 JAVA SE(C/S 架构)应用程序还是 JAVA EE(B/S 架构)应用程序都可以使用这个平台进行开发。

(1)JAVA SE(C/S 架构)和JAVA EE(B/S 架构)是啥?

java se意思就是java标准基础版,java ee就是更牛点是企业版。

C/S架构,即客户端/服务器架构:客户端发送请求到服务器,服务器处理请求并返回结果。

B/S架构,即浏览器/服务器架构:用户通过网络浏览器(客户端)与服务器进行交互。服务器负责处理业务逻辑,并与数据库或其他服务交互,然后将生成的页面或数据发送回浏览器。

1)客户端是啥(C/B/C分别是啥)?

客户端(Client):客户端是指在用户设备上运行的软件,它向服务器发送请求,并展示服务器返回的数据给用户。客户端软件通常具有用户界面,允许用户与其进行交云。

客户端(B 浏览器)

用户通过网络浏览器访问应用程序。浏览器作为客户端的界面,用户可以通过它发送请求、接收信息并与应用程序交互。浏览器负责向服务器发送HTTP请求,并渲染服务器返回的HTML、CSS和JavaScript内容,呈现给用户。

服务器(Server):服务器是指接收客户端请求、处理这些请求(如检索、存储、修改数据等操作),然后将结果或响应发送回客户端的系统。服务器通常是强大的计算机或设备,能够处理多个客户端的请求,并提供必要的资源和服务。例如,Web服务器、数据库服务器、文件服务器等。

        Spring 立志于全方面的简化Java 开发。它主要采取了 3个策略:

  1. 面向 Bean(BOP)
  2. 依赖注入(DI)
  3. 面向切面(AOP)

        Spring采用容器的概念,将需要使用的对象放到容器中,这些对象称为Spring的Bean。当这些Bean对象被使用时可以直接从容器中取出,不用重新创建,由此解决了对象的冗余问题,并且减少了开发人员的编码量。

(2)实体类和业务类是干啥用的?这代码是干啥?

左边代码:

这段代码中包含了两个类: 和 。下面我将分别解释这两个类以及实体类和业务类的概念。

实体类(Entity Class)是一个用来模拟现实世界中的实体或者对象的类,在软件开发中用于表示数据的结构。在这个例子中, 类就是一个实体类,它代表了“学生”这一实体。

在类中,有两个属性: 和 。 属性用来唯一标识一个学生,而 属性则用来存储学生的分数。此外,类中定义了一个方法 ,该方法接受一个类型的参数,并将其赋值给属性,用于设置学生的分数。

业务类(Service Class)通常包含特定的业务逻辑,用于处理与实体相关的操作,例如创建、检索、更新或删除实体。在这个例子中, 类就是一个业务类。

类定义了一个方法 ,这个方法创建了一个新的 对象,并通过调用 方法将这个学生的分数设置为4分。最后,方法返回这个新创建的 对象。

总结

  • 实体类通常用于映射数据库中的表或者表示应用程序中的数据结构。
  • 业务类则包含了处理实体数据的业务逻辑,例如增加、查询、修改、删除等操作。

在这段代码中, 类是一个简单的实体类,只包含了基本的属性和一个设置属性的方法。而 类是一个业务类,它包含了业务逻辑,即创建一个学生对象并给其分数赋值。在实际的应用程序中,业务类会更加复杂,包含与数据库交互、事务处理、业务规则执行等多种逻辑。

右边代码:

  •  是一个Spring框架提供的注解,它用于标记一个类可以由Spring容器生成Bean实例。当Spring容器启动时,它会扫描带有注解的类,并为这些类创建对象实例,这些实例被管理在Spring的应用上下文中。
  •  是Spring框架提供的注解,用于自动注入依赖。在这里,它告诉Spring框架在创建类的实例时,自动从Spring上下文中找到的Bean实例,并将其注入到属性中。这种依赖注入机制简化了资源的管理和配置。

2.MyBatis框架是啥?

MyBatis是一个半自动化的持久层框架,它提供了一种既灵活又简化的方式来处理Java应用程序中的数据库操作,但它不会管理数据库结构的创建和维护。提供了简化数据库编程工作的方法。它通过封装JDBC(Java Database Connectivity)操作,让开发者可以避免直接与JDBC API打交道,从而简化了代码并减少了出错的可能性。

①MyBatis对jdbc的操作数据库的过程进行封装

MyBatis对JDBC的操作进行了封装,意味着它隐藏了许多与数据库交互时需要的底层细节。开发者不需要手动执行如下操作:

  • 注册数据库驱动
  • 创建数据库连接(Connection)
  • 创建执行SQL语句的Statement或PreparedStatement
  • 手动设置SQL语句中的参数
  • 执行SQL语句并处理结果集(ResultSet)

②MyBatis在java和sql之间提供更灵活的映射方案

MyBatis将sql语句和方法实现,直接写到xml文件中,允许开发者将SQL语句和Java对象及其方法关联起来。这些映射通常定义在XML文件中,这样做的好处是将SQL语句从Java代码中分离出来,实现了解耦。这样,当SQL语句需要修改时,不需要改动Java代码,只需要修改XML配置文件即可。此外,MyBatis只负责sql, javaee需要java基础吗 建库建表的工作由程序员完成。

MyBatis本质是一个ORM框架,ORM框架的全名为(Object Relational Mapping)即对象关系映射,其主要作用是将数据库数据映射到常用的Java对象。 MyBatis在SSM中是数据传输层框架,专业术语称之为持久层框架。MyBatis负责将数据库中查询的信息封装Java对象.

(1)持久层是啥?

持久层(Persistence Layer) 是软件架构中负责管理数据存取操作的部分,它充当了应用程序和数据库之间的桥梁。持久层的主要职责是将程序中的对象的状态持久化到数据库中,以及从数据库中检索对象状态。换句话说,它就是用来执行数据库操作的代码,包括插入、更新、删除和查询等。


3.Spring MVC是啥?

SpringMVC框架是基于MVC模式,使用Java语言开发实现的一个轻量级 Web 框架。

SpringMVC是Spring家族的一员,正因为这一点,通过简单的配置,就能够让SpringMVC框架和Spring容器一起使用。

SpringMVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。SpringMVC中的核心类是DispatcherServlet,由此可以看到它也是一个Servlet,顶层是实现的Servlet接口的。

(1)这段话看不懂

Spring MVC是Spring框架的一部分,它实现了Web应用程序中的Model-View-Controller(MVC)设计模式。在MVC设计模式中,应用程序被分为三个核心组件:模型(Model)、视图(View)和控制器(Controller),它们各自负责不同的任务:

  • 模型(Model):代表应用程序的数据结构,通常包含业务逻辑。
  • 视图(View):负责渲染用户界面,通常是HTML页面。
  • 控制器(Controller):处理用户的请求,基于模型执行业务逻辑,并选择视图来渲染响应。

Spring MVC的工作流程

当一个请求到达Spring MVC应用程序时,它首先被一个中央的Servlet,即接收。是Spring MVC的核心控制器,负责协调其他组件来处理请求。以下是Spring MVC处理请求的基本步骤:

  1. 请求拦截:接收到HTTP请求后,会根据配置将请求映射到相应的控制器(Controller)。
  2. 控制器处理:控制器接收请求并调用相应的服务层或业务层方法来处理业务逻辑,并返回一个模型对象,该对象包含了视图所需展示的数据。
  3. 模型填充:模型对象中的数据是从数据库或其他存储系统检索并填充而来。
  4. 视图解析:将模型数据传递给视图解析器(View Resolver),它决定哪个视图应该被用来渲染响应。
  5. 视图渲染:视图使用模型中的数据进行渲染,生成最终的用户界面(通常是HTML页面)。
  6. 响应返回:渲染完成的视图被返回给客户端,作为HTTP响应。

DispatcherServlet

是Spring MVC框架的关键组件,它扮演了前端控制器(Front Controller)的角色。所有进入应用程序的请求都会先经过这个中央控制器,然后由它负责将请求分发到相应的处理器。继承自Java Servlet API中的类,并通过在web.xml文件或者通过Java配置中注册,来配置它作为Web应用程序的入口点。

由于也是一个Servlet,它底层实现了Java Servlet API中的接口,这使得它能够与Servlet容器(如Tomcat、Jetty等)无缝集成,并处理HTTP请求和响应。

总结来说,Spring MVC框架是围绕设计的,它处理所有的请求并将其分派给正确的控制器,同时还协调视图和模型之间的交互,最终生成并返回HTTP响应。

Spring MVC特点

Spring MVC是目前企业级开发常用的MVC框架,专业术语称MVC为“模型-视图-控制器模式”。MVC框架是Model、View和Controller三个模块的缩写,它负责规划整个项目的目录结构以及业务交互。

Spring MVC在SSM框架中负责处理前端的请求并返回相应的结果,其与Spring的集成度非常高,可以在SSM中表现出良好的复用性和扩展性。

Spring MVC优点

不同于以前框架只提供接口,然后让使用者自己根据接口写实现类来实现功能,SpringMVC提供了一整套完善的组件,可以直接使用。 使用SpringMVC框架提供这些工具非常简单,通过一些简单的注解就可以使用Spring MVC的绝大多数功能,不需要编写繁琐冗长的代码。 SpringMVC以强大的Spring容器为基础,与Spring的亲和度很高,不需要额外的配置就可以在Spring中使用。

4.SSM框架是啥?

SSM框架由Spring+Spring MVC+MyBatis组成,是标准的MVC设计模式,将整个系统划分为显示层,Controller层,Service层,DAO层四层,分别由各个框架进行管理。

SSM框架是Web企业级开发常用的框架,它可以在开发中辅助编程人员快速搭建一个完整的Web应用项目。

SSM分层结构分析

SSM整体结构可以拆分为三个部分,分别为MyBatis、Spring MVC和Spring。

MyBatis框架负责和数据库交互,Spring MVC负责与前端交互,Spring负责掌控整个系统的运行。

二、Spring

(一)spring概述

1. 核心理念:控制反转IoC 和 面向切面编程

①IoC概念支撑着Spring对Bean的管理

②AOP技术对Spring中事务管理等功能起到关键作用。

Spring提供了展示层、持久层以及事务管理等一站式的企业级应用技术。

2. Spring体系结构:

Spring框架采用分层架构,由数据访问、Web交互层、AOP框架层、核心容器和测试模块组成。 数据访问层主要是对数据流转的控制操作。Web交互层功能的实现基于Spring核心容器之上,它提供了Web应用的各种工具类。AOP框架允许开发者自定义方法拦截器和切入点,为面向切面编程提供多种实现方法。

(1)说的啥意思啊?

  1. 数据访问层:数据访问层主要负责与数据库或其他数据存储系统进行交互,包括数据的读取、写入、更新和删除等操作。在Spring框架中,数据访问层通常使用Spring的JDBC、ORM(如Hibernate)或其他持久化技术来实现数据的访问和管理。
  2. Web交互层:Web交互层是建立在数据访问层之上的,它提供了处理Web请求和响应的功能。这一层通过Spring MVC框架来实现,处理用户的HTTP请求,并将其分发到相应的控制器进行处理。Web交互层还包含与用户界面相关的逻辑,如表单验证、数据绑定和视图渲染等。
  3. AOP框架层:AOP(面向切面编程)框架允许开发者通过定义切面、切入点和通知等来实现横切关注点的模块化。AOP的目标是减少代码的重复性,将横切关注点(如日志记录、事务管理等)从业务逻辑中分离出来,并通过切面的方式进行统一管理。Spring框架提供了AOP的实现,可以在不修改原有业务逻辑的情况下,通过声明式的方式将横切关注点应用于特定的方法或类上。
  4. 核心容器:核心容器是Spring框架的核心部分,它提供了IoC(控制反转)和DI(依赖注入)容器的实现。IoC指的是将对象的创建和依赖关系的管理交给容器来完成,而不是通过代码显式地创建和管理对象。DI是IoC的一种实现方式,它通过将依赖关系注入到对象中,解耦了组件之间的依赖关系。Spring的核心容器为开发者提供了管理Bean、配置依赖关系和实现对象之间的松耦合等功能。
  5. 测试模块:Spring框架还提供了用于测试的模块,帮助开发者编写单元测试、集成测试和端到端测试等。这些测试模块提供了各种工具和类,用于简化测试过程,如模拟对象、依赖注入和断言工具等。

(1)数据访问及集成

JDBC模块全称是Java数据库连接(Java Database Connectivity),JDBC模块利用JDBC抽象层来间接控制所有的数据库连接代码,大大降低了编码的复杂性。

ORM模块又称对象关系映射模块,这些主流的对象关系映射框架包括MyBatis、Hibernate和JDO等,除此之外,该模块可将对象关系映射框架与Spring提供的数据库连接模块结合使用。

OXM模块与ORM框架类似,不过OXM提供的是XML和对象之间的映射,OXM是“Object XML Mapper”的缩写,全称为XML对象关系映射。

JMS模块是“Java Message Service”的缩写,全称是Java消息传递服务,在Spring的4.1版本之后,支持与Spring-message模块的集成。

Transaction模块的功能是事务管理,它主要负责管理所有POJO类,同时处理声明式和编程式事务。

(2)Web交互层

Web模块提供了基本的面向Web的集成功能,如文件上传,Servlet监听器,面向Web的应用程序上下文等。

Servlet模块也称为Spring-web MVC模块,包含Spring的模型、视图、控制器以及Web应用程序的REST Web服务实现。

WebSocket模块是Spring4版本的新增模块,用于适配不同的WebSocket引擎,并能够全面支持WebSocket。

(3)AOP框架层

AOP模块译为面向切面编程,此模块的实现允许开发者自定义方法拦截器和切入点。

Aspect模块主要用于集成AspectJ,Aspect是一个功能强大且成熟的AOP框架,为面向切面编程提供多种实现方法。

Instrumentation模块提供了类植入的支持和类加载器的实现,通常在特定的服务器使用。

(4)核心容器层

Beans和Core模块是Spring中较为核心的模块,其提供了IoC和DI思想的实现,规定了创建、配置和管理Bean的方式。

Context模块在Beans和Core模块的基础之上提供了框架式Bean的访问方式,通过ApplicationContext接口可以获取上下文信息。

SpEL模块提供了一个强大的表达式语言,该语言用于在Spring运行时查询和操作对象。

(二)Spring的核心体现

1. IoC与DI

IoC是一个设计思想,(Inversion of Control(控制反转)的缩写)指将对象的控制权交由容器控制。Spring采用这种思想后,开发人员无需编写管理依赖关系的代码,由Spring容器根据配置自动完成。

DI为Dependency Injection(依赖注入)的缩写,是IoC思想的一种体现,即通过注入方式来避免调用类对其他类的强依赖关系,方便开发,减少代码冗余。

举例:

2. Spring容器

Spring容器管理应用程序中的各种组件(Bean),包括它们的生命周期、依赖关系、配置信息等。

Spring容器的概念有多种实现接口,重要的实现接口是BeanFactory和ApplicationContext。

(1)BeanFactory接口

BeanFactory是Spring框架最基本的IoC容器接口,提供了最基本的Bean管理功能(封装了许多与Bean有关的抽象方法,其中常用的有获取Bean信息的方法和判断此Bean是否单例的方法)。负责管理Bean的生命周期和依赖注入。

 

BeanFactory的实现类通常是XmlBeanFactory,它通过读取XML配置文件来创建和管理Bean对象。

BeanFactory延迟加载(lazy loading)机制,即在第一次请求Bean时才进行实例化和初始化,这样可以节省资源和提高性能。

(2)ApplicationContext接口

ApplicationContext接口在BeanFactory的基础上提供了更多的功能和扩展,是Spring框架中更常用的容器接口。ApplicationContext是BeanFactory的子接口,直译又称作应用上下文。

它包含了BeanFactory中所有的功能,还包括了国际化支持、事件传播、资源访问、AOP代理等功能。

ApplicationContext的实现类有ClassPathXmlApplicationContext、FileSystemXmlApplicationContext、AnnotationConfigApplicationContext等,它们可以从不同的位置加载配置文件或注解配置,创建Spring容器并管理Bean对象。

ApplicationContext的子类ClassPathXmlApplicationContext是开发中常用的工具类,它可以通过指定一个配置文件来完成容器的创建,在配置文件中通产含有配置完成的Bean对象。容器创建完成后,其中的Bean对象将会被创建完毕,开发人员可以根据Bean的名称获取容器中的Bean对象、Bean类型等其他信息。

 

      在使用classPathXmlApplicationContext 时,将配置文件的类路径传入其中,容器就可以自动解析配置文件中的配置,将Bean对象加入到Spring容器中。

(三)spring示例

1 Spring依赖下载(啊啊啊我咋记得我就没下,但是也能用,咋肥四)

首先访问官方的Spring JAR包下载地址。

然后访问官方Commons Logging包的下载地址,下载commons-logging-1.2-bin.zip包。

2.Web环境搭建

(1)创建项目:Spring的运行不需要Web环境的支持,但是使用Spring来做Web开发时,需要配置相应的Web环境,因此,首先搭建Web环境,在新建的项目中添加Web环境支持。

单击New Project创建项目,在弹出的新建框中选中Java项目,随后单击Next。进入下一步之后,再次单击Next

最后一步,填写此项目的项目名及目录,填写完毕后单击Finish。

(2)为项目添加Web框架

项目创建完成以后,右键单击项目,在弹出的快捷菜单中添加框架支持

在弹出框架支持框后,勾选Web Application框架以及Create web.xml,单击OK按钮,完成添加。

(3)添加依赖包

右键点击WEB-INF文件夹,在弹出的快捷菜单中选择New→Directory,创建lib文件夹。

将之前下载完成的Spring包中lib文件夹下的所有JAR包,commons-logging包和下载的AOP注解依赖包复制到lib文件夹下。

选中所有的JAR包,右键单击之后,弹出快捷菜单,单击Add as Library,将JAR包添加到Library。

右键单击File后,在弹出的快捷菜单中单击Project Structure,打开项目结构。

在项目结构面板中单击Artifacts,在中间出现的页面中,选中发布包,随后在右侧双击commons-logging包,将其添加到现有项目中,最后单击apply按钮将此包应用到项目中。

(4)配置tomcat

单击操作栏中的下拉按钮,单击Edit Configurations,进入配制页面。

单击页面左上角的“”,在弹出的快捷菜单中选择Tomcat Server下的Local,在右侧出现的面板中配置Tomcat,单击Configure,并选择本地安装的Tomcat后,单击Deployment,即可进入war包发布页面。

进入war包配置界面后,单击加号,在下拉框中单击Artifact,将war包添加进Tomcat,随后单击Apply。至此,Web环境搭建完毕。

3. Bean的添加与获取

(2)编写配置文件

单击src,在弹出的快捷菜单中单击New→XML configuration File→Spring Config创建Spring配置文件,命名为applicationContext。

创建完毕后,打开目录结构,随后单击Modules,在中间面板中选择springTest中的Spring,之后单击右侧面板的“+”,在弹出面板中勾选新建的applicationContext文件,单击OK按钮,再单击Apply按钮,完成配置操作。

编写配置文件,其中<bean>元素为指定将一个对象注入容器,id为此Bean对象的别名,此别名将会在获取此Bean时用到,class为指定需要装配对象的路径,

 

(4)容器加载配置文件

在src下创建一个Test类,利用ApplicationContext容器的子类来加载配置文件,此配置文件路径为相对于src的路径

 

使用getBean()方法获取classPathXmlApplicationContext容器中名为student的Bean对象

总结:本章首先讲解了IoC容器的概念与Spring中Bean对象的概念,接下来通过示例讲解了Bean对象的添加与获取。通过本章的学习,读者需要掌握向Spring容器中添加Bean对象的方法。

版权声明


相关文章:

  • 有美工基础学web还是java2024-10-28 09:02:05
  • 小白0基础学java2024-10-28 09:02:05
  • java语言基础实验一2024-10-28 09:02:05
  • java基础类型讲解2024-10-28 09:02:05
  • serverler是java基础吗2024-10-28 09:02:05
  • java微服务基础知识2024-10-28 09:02:05
  • JAVA基础自我介绍2024-10-28 09:02:05
  • java基础求面积2024-10-28 09:02:05
  • java基础及性能优化2024-10-28 09:02:05
  • java零基础知乎2024-10-28 09:02:05