wordpress获取作者头像,北京seo代理商,wordpress导出数据字典,百度收录情况查询1、过滤器和拦截器的区别
过滤器是基于spring的
拦截器是基于Java Web的
2、session 和 cookie 的区别、关系 cookie session 存储位置 保存在浏览器 #xff08;客户端#xff09; 保存在服务器 存储数据大小 限制大小#xff0c;存储数据约为4KB 不限制大小客户端 保存在服务器 存储数据大小 限制大小存储数据约为4KB 不限制大小因为它是对象 生命周期 可以主动设置生命周期 过期会自动删除 可以设置生命周期有限制有间隔一般为30min 数据类型 字符串类型 object 安全性 cookie不安全 存储在浏览器的 安全
session 依赖于 cookie
一、3、HTTP状态码 200 成功 301 请求资源被转发移动 404 url错误找不到 500 服务器内部出错
4、对Spring IOC的理解
它是 bean 对象的容器管理 Java 对象的实例化和初始化控制对象与对象之间的依赖关系
5、Bean的作用域
singleton单例模式
prototype原型模式 【深拷贝】
request
session
global-session
6、Bean的生命周期
从定义开始到实例化--属性注入--初始化--最终在使用完毕后被销毁
7、重定向和转发
重定向 2 次请求请求转发 1 次请求重定向地址栏会变请求转发地址栏不变重定向是浏览器跳转请求转发是服务器跳转重定向可以跳转到任意网址请求转发只能跳转当前项目定向会丢失请求参数, 请求转发不会丢失请求数据
8、spring Boot 自动装配原理
启动注解SpringBootApplication 是复合注解
包含 SpringBootConfiguration(是spring配置类)【包含Bean注解的方式定义 Bean 方法 】
EnableAutoConfiguration启用自动配置类 使用了 SPI 技术【会根据应用程序的依赖和配置信息自动配置适当的Bean和组件】
调用了 AutoConfigurationImportSelector 这个注解下的selectImports方法这个方法中有springFactoriesLoader使用了 SPI 技术扫描META-INF下面的spring.factory文件
ComponentScan组件扫描【以查找和加载Spring组件。默认情况下它会扫描注解所在类的包及其子包下的所有组件并将它们注册到Spring容器中】三个核心注解
9、过滤器和拦截器的区别
过滤器filter是基于 Java Web 的拦截器interceptore是基于 spring 的提供的
10、 什么是拆箱和装箱
拆箱将包装类型转换为基本类型
装箱将基本类型封装成引用类型封装成对象可以使用对象的方法
11、装箱和拆箱的区别
拆箱将包装类型转换为基本类型
装箱将基本类型封装成引用类型封装成对象可以使用对象的方法
12、Autowired 和 Resource 的区别 Autowired Resource 装配策略不同 根据类型进行装配 先根据名称找不到再根据类型装配 属于 spring 注解 jdk 自带的注解
AutoWired 默认按类型进行装配默认情况下必须要求依赖对象必须存在
Resource默认按照名称装配名称可以通过 name 属性进行指定
Autowired 与Qualifier 配合使用
13、Spring MVC 执行流程
Spring Mvc的两个适配器
处理器适配器:(HandlerAdapter) HttpRequestHandlerAdapter
设计模式责任链和适配器 详细
用户向前端控制器 (DispatcherServlet) 发送请求前端控制器 (DispatcherServlet) 接收到请求后调用处理映射器 (HandlerMappin g)处理器映射器 (HandlerMapper) 找到具体的处理器生成处理器对象以及处理器拦截器再一起返回给前端控制器然后前端控制器调用处理器适配器处理器适配器调用具体的处理器处理器适配器 (HandlerAdapter)将处理器执行结果ModelAndView返回给前端控制器 (Controller)然后前端控制器将ModelAndView传给视图解析器解析View前端控制器将视图解析器返回的View进行渲染然后响应给用户
14、Spring MVC 设计模式
适配器模式允许多个对象按照特定的顺序处理请求在 spring mvc 中调用处理器映射器返回一条执行链包含拦截器和处理器的执行顺序再由处理器适配器调用执行是一个责任链设计模式
责任链模式目的是解决接口和实现类不匹配问题如果一个接口拥有很多方法但是我们只期望使用某些方法时如果用类实现这个接口则必须重写所有抽象方法这个时间则可以使用适配器来处理
15、Java Web 三大组件
Listener 监听器
Fliter 过滤器
servlet 控制器
16、Spring IOC 注入的方式
构造方法注入
属性注入有Autowired 和 Resource
set 方法注入
17、 如何写一个编程式事务
先注入事务管理器 PlatformTransactionManager定义事物的配置 DefaultTransactionDefinition传播属性、隔离级别 可设可不设不设置就是默认的开启事务最后再判断如果没有异常就提交事务如果有异常就回滚事务
//1.注入事务管理器Autowiredprivate PlatformTransactionManager transactionManager;//2.编程式事务public void createUser(User user) {//3.定义一个事务默认配置DefaultTransactionDefinition def new DefaultTransactionDefinition();//设置事务传播属性def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);//设置事务传隔离级别def.setIsolationLevel(TransactionDefinition.ISOLATION_DEFAULT);//4.开启事务TransactionStatus transaction transactionManager.getTransaction(def);try {//保存当前执行操作userDao.save(user);
// int i 1 / 0;//5.提交事务transactionManager.commit(transaction);} catch (Exception e) {//6.回滚事务transactionManager.rollback(transaction);throw e;}
18、 事务的特性
原子性Atomicity / əˈtɒmɪsɪti /即不可分割性事务要么全部被执行要么就全部不被执行。
一致性Consistency / kənˈsɪstənsi /事务必须使数据库从一个一致性状态变换到另一个一致性状态即一个事务执行之前和执行之后都必须处于一致性状态
隔离性Isolation / aɪˈsoʊ.leɪ.ʃən /即一个事务执行之前和执行之后都必须处于一致性状态。
持久性Durability / djuːˈræ.bɪ.lɪ.ti /事务一旦结束,数据就持久到数据库。
redo_log解决持久性
undo_log解决一致性和原子性
19、jdk1.8 新特性
1. 接口增强
接口增强允许接口有方法体
接口用default和static修饰
2.函数式接口
函数式接口只有一个抽象类接口
使用FunctionalInterface注解来标记判断其是否只包含一个抽象方法
3.方法引用
方法引用一种语法糖
Lambda表达式的简化形式可以提高代码的可读性和简洁性。语法类名方法名
4.Stream Api重要
Java Stream 常用操作方式 过滤 使用filter()方法可以过滤掉集合中不符合条件的元素。 映射 使用map()方法可以对集合-中的每一个元素进行映射处理。 排序 使用sorted()方法可以对集合中的元素进行排序。 去重 使用distinct()方法去掉集合中的重复的元素。 统计 使用count()方法可以对集合中的元素进行统计。 分组 使用groupingBy()方法可以按照某一个属性进行分组。 遍历 使用forEach()方法可以遍历集合中的每一个元素。 聚合 使用reduce()方法可以对集合中的元素进行聚合计算。 转换 使用collect()方法可以将集合中的元素转换为另一个集合。 平均 使用average()方法可以用于计算一组元素的平均值。 匹配 使用anyMatch()、allMatch()、noneMatch()方法可以对集合中的元素进行匹配判断。
5.Optional 工具类
Optional类工具类
为了避免null值异常防止报 NullpointException空指针异常。
6.新的日期和时间
新的日期、时间的 API