大学计算机专业课《JavaEE》期末复习重点(第五期)

本期分享一下JavaEE期末考试重点

侧重题型:单选 | 判断 | 填空 | 程序填空 | 程序设计

第一章

  1. 软件框架是一种通用的,可复用的软件环境,它提供特定的功能,促进软件应用、产品和解决方案的开发工作。
  2. Spring是一个开源框架,分层架构
  3. SpringMC是一个基于MVC设计模式的轻量级的web开发框架。
  4. MyBatis是一个持久层框架
  5. SpringBoot框架是用于快速、敏捷开发地新一代基于Spring的框架。
  6. Maven是提供项目构建和高级项目管理的工具。Maven项目对象模型(缩写:POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
  7. 项目构建:在软件维护期间,编码->编译compile->测试->打包package->部署(打包install)。
  8. 构建工具:ant、maven、gradle。
  9. Maven包括三个基本的生命周期(即clean、default和site)。
  10. Maven仓库(Repository)是保存Maven组件的位置,可被Maven项目共享。Maven仓库中,每个组件都是以文件形式存储,并且都有唯一的坐标。根据组件坐标的唯一性,Maven为每个组件在仓库中定义一个唯一的存储路径。分类:本地仓库、远程仓库和中央仓库
  11. Maven项目依赖管理是在pom.xml文件中进行的,<dependencies/>元素包含了项目定义的所有依赖。

第二章

1、编写数据库连接信息的属性文件:

                   mysql.driver=com.mysql.jdbc.Driver

                 mysql.url=jdbc:mysql://localhost:3306/textbook

                   mysql.username=root

                   mysql.password=root

2、//src/main/resources/mybatis-config.xml文件:

<configuration>

<properties resource="db.properties"/>

<environments default="development">

<environment id="development">

<transactionManager type="jdbc" />

<dataSource type="POOLED">

<property name="driver" value="${mysql.driver}" />

<property name="url" value="${mysql.url}" />

<property name="username" value="${mysql.username}" />

<property name="password" value="${mysql.password}" />

</dataSource></environment></environments>

</configuration>

引入属性文件<properties resourse>

3、在src/main/java目录下创建com.my.mybatis.po包,创建Publisher类,该类用于封装publisher表的字段。

//Publisher.java文件

package com.my.mybatis.po;

public class Publisher {

private int pub_id;

private String pub_name;

private String contacter;

private String mobile;

// 省略了getter、setter和toString方法

}

4、程序填空

select重点复习,红色部分要会 id唯一标识、

参数类型parameterType,resultTypes实体类的类名,用#{}参数名

5、会话工厂SqlSessionFactory,构造会话工厂需要读取MyBatis核心配置文件映射文件

需要使用SqlSessionFactoryBuilder

6、MyBatis的核心配置文件中的主要元素

7、<settings/>元素。用于设置MyBatis运行时的全局行为特征。

常见配置参数:

<settings>

<!-- 开启缓存 -- >

<setting name="cacheEnabled" value="true" />

<!-- 开启驼峰命名 -- >

<setting name="mapUnderscoreToCamelCase" value="true"/>

<!-- 开启延迟加载,如果开启,所有关联对象都会延迟加载 -- >

<setting name="lazyLoadingEnabled" value="true" />

</settings>

8、<properties/>元素。用于加载外部的属性文件,或修改加载的属性值。

在mybatis-config.xml中引入db.properties文件。

<properties resource="db.properties" />

在mybatis-config.xml中使用属性文件中的属性。

<dataSource type="POOLED">

<property name="driver" value="${mysql.driver}" />

<property name="url" value="${mysql.url}" />

<property name="username" value="${mysql.username}" />

<property name="password" value="${mysql.password}" />

</dataSource>

9、<typeAliases/>元素设置实体类的别名。下面为示例

  1. 10、<environment>元素,配置运行环境。

有两个子元素:<transactionManager>元素和<daraSource>元素。

<transactionManager>元素用于配置运行环境的事务管理器的类型。

<transcationManager>元素配置事务管理器:

JDBC:直接采纳JDBC的提交和回滚设置,因此事务管理方式取决于从数据源获得的连接类型。

MANAGED:配置自身不提供事务管理,由容器负责事务生命周期的管理。默认情况下,它会关闭连接。

<daraSource>元素用于配置运行环境的数据源信息。

<dataSource/>元素的type属性指定数据源类型:

UNPOOLED、POOLED和JNDI三种数据源类型。

UNPOOLED类型:数据源为无连接池类型。该数据源不提供数据库连接池,每次请求时都需要打开和关闭连接。

POOLED类型:表示数据源为连接池类型。它使得并发Web应用可以快速的响应请求,是当前比较流行的。

JNDI数据源:支持使用外置连接池,可以在EJB或应用服务器等容器中使用。在生产环境中,优先使用这种方式。

11、MyBatis接口方式访问数据库

创建PublisherMapper.xml映射文件的映射器接口

PublisherMapper :

//src/main/java/com/my/mybatis/mapper/PublisherMapper.java

package com.my.mybatis.mapper;

import com.my.mybatis.po.Publisher;

public interface PublisherMapper {

public Publisher findPublisherByPubld(int pubId);

}

12、小结

1)配置文件是创建会话工厂的核心,配置文件中需要配置数据源加载映射文件

2)映射文件通常与某一数据表的查询等操作相关。

3)映射器接口映射文件对应,并且要满足一定的规则。

4)使用SqlSession对象的getMapper()方法获得射器接口的代理类,从而实现对数据表的查询。

5)项目中,配置文件中的内容相对稳定,而映射文件与数据库结构以及业务需求有关,因此,变动频率较高

第三章

1、映射文件的根元素是<mapper/>namespace属性对映射文件是唯一的。<mapper/>的每个子元素对应着一个SQL语句或相关配置。子元素可以重复顺序无关,必须有唯一id

2、<select>元素用来映射查询语句,从数据库中查询数据并返回。

3、<resultMap>元素表示结果映射集。

<resultMap>元素是定义映射规则、更新级联以及定义类型转化器等。解决查询结果集与返回类型对象之间的复杂映射问题。

4、<resultMap>元素与<select>元素配合使用。一个<resultMap>元素可以关联多个<select>元素。<resultMap>元素主要适用以下情形:

(1)结果集中字段名与P0J0对象的对应属性名不一致;

(2)POJ0对象中含有包装P0J0类型的属性;

(3)关联查询中,需要针对嵌套查询或嵌套结果做专门映射

5、<insert>元素用于映射插入语句,在执行完<insert>元素中定义的SQL语句后,会返回插入记录的数量

6、<sql>元素的作用定义可重用的SQL代码片段。

7、动态SQL标签作用

<if>判断元素,单分支判别

<choose>多分支判别

<when>,<choose>的子元素,多分支中某一分支的入口判别。

<otherwise>,<choose>的子元素,表示多分支中的其余情况。

<trim>用于处理SQL组装过程中的一些前、后缀问题。

<set>不能单独使用,和update配合使用。表示update语句中的set子句。

<foreach>遍历集合的元素。生成如in子句中的集合。

<bind>用于创建一个变量,并绑定到上下文中。

8、关联查询:一对一<association>,一对多<collection>,多对多<collection>

一对一<association>嵌套结果、嵌套查询@One

一对多<collection>嵌套结果、嵌套查询@Many

多对多<collection>嵌套结果、嵌套查询

9、常见注解:@Select,@Delete,@Update ,@Param,@Insert,@Results。

@Select映射查询语句

@Insert映射插入语句

@Results对应<resultMap>,包括一个或多个@Result注解。使用@One和@Many注解映射文件中的<association>和<collection>元素,

10、小结

1)映射文件是MyBatis提供给开发人员编写SQL语句的场所,是MyBatis自动生成映射器接口代理类的重要依据。

2)注解方式是映射文件的替代方法,注解使得映射器接口方法与SQL语句的联系更加紧密,有效缓解了编辑XML文件时出现的易错、可读性差等不足。复杂的SQL语句也会产生复杂的注解。

注解方式更适合简单的SQL查询,对于复杂的SQL查询,使用映射文件会更方便

第四章

1、Spring是一个分层的轻量级开源框架。核心理念IoC(控制反转)AOP(面向切面编程)

2、在Spring容器的API中,最常用的是BeanFactoryApplicationContext两个接口。

3、BeanFactory接口是Spring容器最基本的接口,提供创建和管理Bean的方法。

4、Bean的装配方法:基于xml配置文件、基于注解、基于配置类。

1)基于XML的装配:

Spring的XML配置文件根元素是<beans>

<beans>元素可包含多个<bean>子元素,每个<bean>子元素可以定义一个Bean,并将Bean注册到Spring容器中。

2)基于注解的装配

通过注解也可以实现Bean的装配。

常用注解:

  1. 5、依赖注入(缩写DI)是由IoC容器在运行期间动态地将某种依赖资源注入对象之中。

实现方式:基于XML配置文件注入和基于注解注入。

基于XML配置文件注入分为:属性setter方法注入,构造方法注入

1)基于XML配置文件的属性setter方法注入

它是在被注入的类中声明一个setter方法,通过setter方法的参数注入对应的值。

2)基于XML配置文件的构造方法注入

Spring容器调用构造方法注入被依赖的实例,构造方法可以是有参的或者是无参的。

3)基于注解的依赖注入

使用基于注解的方式装配Bean,采用@Autowired@Resource注解均可以实现注解注入。

6、Bean的作用域决定了Bean实例在项目中的可见性。

Singleton丛生到死,每次创建pro

singleton单例作用域,是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器只为Bean创建一个实例,该实例可以重复使用。

prototype原型作用域,prototype作用域的Bean,每次对Bean请求时都会创建一

个新的Bean实例,Spring容器只负责创建Bean实例而不再管理其生命周期。

第五章

没有代码考概念,客观题

1、AOP是面向切面编程,指定的方法叫切入点

2、Spring AOP基于动态代理机制和字节码生成技术实现。

3、AOP支持最晚神的产品AspectJ

4、事务是以可控的方式对数据资源进行的一组操作序列。

5、事务具有的特性:原子性、一致性、隔离性和持久性。

6、Spring事务管理基于AOP。

Spring事务框架将项目中事务管理部分的代码看作横切关注点,从数据访问代码中分离和抽象出来,再以AOP方式织入到相应的方法中。

7、@Transactional基于注解的声明事务。

基于注解的方式:Spring提供了@Transactional注解实现事务管理。它和XML文件中<tx:advice>元素有相同的功能。

第六章

1、在Java EE开发中,系统的三层架构包括:表现层Spring MVC、业务层Spring、持久层MyBatis

2、配置前端控制器(需要会配置)DispatcherServlet。

DispatcherServlet是Spring MVC的核心类,也是SpringMVC的流程控制中心,也称为Spring MVC的前端控制器,它可以拦截客户端的请求。

web.xml中,DispatcherServlet的配置分为两个方面:一是配置Spring MVC的前端控制器;二是配置映射的URL路径

3、前端控制器:<load-on-startup>元素取值:

(1)正整数或0:项目启动时加载并初始化这个Servlet。值越小,Servlet的优先级越高,越先被加载;

(2)负数或没有:Servlet会在被请求时加载和初始化;

(3)1:DispatcherServlet在项目启动时加载并初始化。

4、后端控制器:标注在类上

浏览器中访问地址,由项目访问路径+处理器类的映射路径+处理器的映射路径共同组成。

例:@Controller

@RequestMapping(value="/springMVC")

public class FirstController {

@RequestMapping(value="/firstController")

public void sayHello(){.........}}

5、Spring MVC组合注解:

@GetMapping:匹配GET方式的请求;

@PostMapping:匹配POST方式的请求;

@PutMapping:匹配PUT方式的请求;

@DeleteMapping:匹配DELETE方式的请求;

@PatchMapping:匹配PATCH方式的请求;

6、区别请求转发和重定向

请求转发到视图、重定向(重新发起一个新的WEB请求)

请求转发

1)请求转发到视图

若是逻辑视图,需要经过视图解析器解析,需返回字符串。若是转发物理视图,返回的字符串需要以“forward:”开头,如“forward:/user/register.jsp”。

2)转发请求到处理器

Web请求转发到其他处理时,需要在返回的字符串前加上“forward:”

7、重定向

重定向是发起一个新的Web请求

重定向的视图不会被视图解析器解析,必须是物理视图;重定向后,原请求域的数据在新请求中不可见;重定向的目标视图不能位于Web容器的保护目录(即WEB-INF)中。

1)重定向到视图

处理器返回的字符串需以“redirect:”开头。“/”表示从应用的根路径开始查找视图文件。若省略,则从当前视图所在路径开始查找。

2)重定向到处理器

若是到当前控制器中的处理器,需要考虑相对路径。若是到其他控制器的处理器,需要提供处理器完整的映射路径

8、总结

第七章

1、数据绑定是将请求中的数据传递给处理器方法形参的过程。数据绑定需要从ServletRequest请求对象中提取数据

2、默认类型的数据绑定

Spring MVC常见的默认类型:

HttpServletRequest:通过request对象获取请求信息。

HttpServletResponse:通过response对象处理响应信息。

HttpSession:通过session对象得到其中存放的对象。

3、简单数据类型的绑定:指Java中基本类型(如int、double、String等)的数据绑定。

在Spring MVC中进行简单类型的数据绑定,只需客户端请求参数的名称和处理器的形参名称一致即可,请求参数会自动映射并匹配到处理器的形参完成数据绑定。

4、@RequestParam注解完成请求参数名称和处理器的形参名称不一致时的数据绑定。

5POJO类型的数据绑定是将所有关联的请求参数封装在一个POJO类对象中,然后在方法中直接使用该POJO类对象作为形参来完成数据绑定。

6、复杂数据绑定:集合和列表绑定。

Spring MVC不支持集合类型(如List、Set等)直接作为处理器参数的数据绑定。因此,应用中需要将集合类型作为POJO的属性,以间接方式实现数据绑定

第八章

1、Spring MVC中的拦截器(Interceptor)主要用于拦截Controller方法请求

2、拦截器需要定义拦截器类和配置

第一种:通过实现HandlerInterceptor接口,或继承HandlerInterceptor接口的实现类(如

HandlerInterceptorAdapter)来定义。

第二种:通过实现WebRequestInterceptor接口,或继承WebRequestInterceptor接口的实

现类来定义。

3、拦截器preHandle、postHandle、afterCompletion

  1. 4、拦截器配置:interceptors,子标签顺序是确定的

  1. 5、单个拦截器和多个拦截器的逻辑关系

7、简单异常处理器概念:Spring MVC提供了SimpleMappingExceptionResolver实现了HandlerExceptionResolver接口。当发生异常的时候,实现类根据发生的异常类型跳转到指定的页面处理异常信息。它可以对Spring MVC中所有异常进行统一处理

8、自定义异常处理器:自定义异常处理器要实现HandlerExceptionResolver接口,重写异常处理方法resolveException()

例:创建和使用自定异常处理器。(注释简单异常处理器配置)

9、基于注解的异常处理:注解@ControllerAdvice,结合@ExceptionHandler注解,可以捕获Controller中抛出的指定类型的异常。

10、文件上传

1)文件上传功能的表单:

(1)form表单的method属性设置为post;

(2)form表单的enctype属性值为multipart/form-data;

(3)提供<input type="file" name="filename"/>的文件上传输入框。若需要多文件上传,input元素的multiple属性设为“multiple”。例:

2)spring-mvc.xml文件配置

Spring MVC通过MultipartResolver实现文件上传功能。MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipartResolver完成文件上传。例:

3)引入依赖

项目中导入Apache Commons FileUpload组件的依赖,即commons-fileupload依赖和commons-io依赖。

<dependency>

<groupId>commons-fileupload</groupId>

<artifactId>commons-fileupload</artifactId>

<version>1.4</version>

</dependency>

4)使用MultipartFile类型绑定接收上传文件

11、读懂代码

12文件下载是将文件服务器中的文件下载到本机上

13、使用ResponseEntity类型对象完成文件下载,使用它可以很方便的定义返回的HttpHeaders对象和HttpStatus对象,可完成下载文件时所需的配置信息。

14、框架整合

Java EE项目涉及表现层、业务逻辑层及数据持久层等模块的实现。

MyBatis仅仅是数据持久层的实现;Spring致力于业务逻辑层的功能;Spring MVC则是将表现层、业务逻辑层及数据持久层联系在一起的纽带。

Spring支持xml文件与配置类两种配置方式,都可以获得注解的支持

  • 29
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值