框架知识
Servlet
生命周期
1.加载和实例化
2.初始化
3.请求处理
4.服务终止
线程安全问题
filter和listener
web.xml中常用配置及作用
Spring
什么是 Spring IoC 容器?
Spring 框架的核心是 Spring 容器。容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期。Spring 容器使用依赖注入来管理组成应用程序的组件。容器通过读取提供的配置元数据来接收对象进行实例化,配置和组装的指令。该元数据可以通过 XML,Java 注解或 Java 代码提供。
IoC实现原理是通过工厂模式加反射机制。
什么是依赖注入(DI)?
在依赖注入中,您不必创建对象,但必须描述如何创建它们。您不是直接在代码 中将组件和服务连接在一起,而是描述配置文件中哪些组件需要哪些服务。由 IoC 容器将它们装配在一起。
实现依赖注入的方式有哪些?
通常,依赖注入可以通过三种方式完成,即:
(1)构造函数注入(推荐)
(2)setter 注入
(3) 接口注入
在 Spring Framework 中,仅使用构造函数和 setter 注入。
Spring Bean 容器的生命周期是什么样的?
Spring Bean 容器的生命周期流程如下:
(1)Spring 容器根据配置中的 bean 定义中实例化 bean。
(2)Spring 使用依赖注入填充所有属性,如 bean 中所定义的配置。
(3)如果 bean 实现BeanNameAware 接口,则工厂通过传递 bean 的 ID 来调用setBeanName()。
(4)如果 bean 实现 BeanFactoryAware 接口,工厂通过传递自身的实例来调用 setBeanFactory()。
(5)如果存在与 bean 关联的任何BeanPostProcessors,则调用preProcessBeforeInitialization() 方法。
(6)如果为 bean 指定了 init 方法( <bean>
的 init-method 属性),那么将调 用它。
(7)最后,如果存在与 bean 关联的任何 BeanPostProcessors,则将调用 postProcessAfterInitialization() 方法。
(8)如果 bean 实现DisposableBean 接口,当 spring 容器关闭时,会调用 destory()。
(9)如果为bean 指定了 destroy 方法( <bean>
的 destroy-method 属性),那么将 调用它。
什么是 AOP?
AOP(Aspect-Oriented Programming), 即 面向切面编程, 它与OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与OOP 不同的抽象软件结构的视角. 在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面)
Spring MVC
什么是MVC
Spring mvc与Struts mvc的区别
Spring Boot
Spring Boot 2.0
起步依赖
自动配置
Spring Boot的starter原理
自己实现一个starter
为什么Spring Boot可以通过main启动web项目
Spring Security
Spring Cloud
- 服务发现与注册:Eureka、Zookeeper、Consul
- 负载均衡:Feign、Spring Cloud Loadbalance
- 服务配置:Spring Cloud Config
- 服务限流与熔断:Hystrix
- 服务链路追踪:Dapper
- 服务网关、安全、消息
Hibernate
什么是OR Mapping
Hibernate的缓存机制
Hibernate的懒加载
Hibernate/Ibatis/MyBatis之间的区别
MyBatis
Mybatis缓存机制
#{}
和${}
的区别
mapper中传递多个参数
Mybatis动态sql
Mybatis的延迟加载