15 September 2021
主流框架
by
主流框架
Spring
IOC与DI的理解
- IOC控制反转,设计理念,由第三方来管理与控制对象
- DI依赖注入,具体实现,又对象容器在运行时动态注入对象
Spring实例化对象的三种形式
Spring中Bean实例化有几种方式
- 使用类构造器实例化 - 常用、根本
- 使用静态工厂实例化
- 使用实例工厂实例化
Spring四种注入方式
Bean注入属性有哪几种方式
- setter注入
- 构造器注入
- 注解注入
- Java Config注入
Spring常见面试问题
- 请说明Scope属性的作用与取值
- singleton 单例
- prototype 多例
- request mvc中生效,同一次请求只生成一个对象,不同对象生成不同对象
- session 不用session不同对象
- 不设置即单例
- 用于控制对象的数量,是单例还是多例
- 初始化时多例模式不会创建Bean
- 请说明lazy-init属性的作用
- 延迟初始化 懒加载
- true 使用时才会加载
- false 默认
- prototype lazy-init失效
- @Autowired和@Resouce有什么区别
- @Autowired 第三方提供,机制不同,只能类型匹配
- @Resouce Java官方定义,提供属性,更加智能
AOP五种通知类型
面向切面编程
- 前置通知[Before]
- 返回通知[After returning]
- 异常通知[After throwing]
- 后置通知[After]
- 环绕通知[Around] 常用是以上所有通知的集合
声明式事务
- 声明式事务是指利用AOP自动提交,回滚数据库事务
- 声明式事务规则进入方法打开事务,成功提交,运行时异常回滚
- @Transactional是声明式事务的注解–>主流开发使用
SpringMVC
SpringMVC开发REST风格Web程序
- REST(表述性状态传递)已URL表示要访问的资源
- GET/POST/PUT/DELETE对应查询、新增、更新、删除操作
- REST风格只响应的数据,通常是以JSON形式体现
SpringMVC拦截器的作用
- SpringMVC拦截器用于对控制器方法进行前置、后置处理
- 拦截器的底层实现技术是AOP(面向切面编程)
- 拦截器必须实现HandlerInterceptor接口
SpringMVC的执行流程
- ->ViewResolver选择视图
- 浏览器->请求->DispatcherServlet->HandlerMapping映射->ModelAndView
- ->HandlerAdapter处理请求-响应 HttpMessageConverter

MyBatis
说明MyBatis的开发流程
- 引入jar包
- 配置文件
- 实体类
- mapper文件-sql语句
MyBatis的缓存机制
- MyBatis存在两级缓存
- 一级缓存与SqlSession会话绑定,默认开启
- 二级缓存是应用全局缓存,所有SqlSession共享
SpringBoot与Maven
Spring、SpringMVC与SpringBoot的区别
- Spring是所有应用的基础,提供了IOC与AOP特性
- SpringMVC是Spring的子项目用于提供Web支持
- SpringBoot是Spring体系的敏捷开发框架,提高了开发效率
- SpringCloud是分布式微服务
SpringBoot面试题
- Spring Initializr是创建SpringBootProjects的唯一方法吗?否定,本质是maven工程
- SpringBoot支持几种配置文件,两种配置文件,1.属性配置文件(不推荐),2.yml文件,层级配置
- 请列举至少五个SpringBoot中的配置选项

Maven的构建生命周期

tags: