spring框架基出面试
spring常见的问题推荐:
- spring常用的jar包
spring常用的jar包
spring 常用的jar包 | 文件说明 | 外部依赖 | 其他说明 |
---|---|---|---|
1.spring-core.jar | spring框架基本的核心工具类 | commons Logging | 组件核心 |
2.spring-beans.jar | 包含访问配置文件,创建和管理bean,控制反转,注入操作所有相关的类 | @Autowired | |
3.spring-aop.jar | 使用基于aop的spring特性 | spring-core(spring-beans,aop alliance,cglib,commons attributes | 声明型事务管理 |
4.spring-context.jar | 使用spring applicationcontext所有的全部类 | 为spring提供了大量的扩展 | |
5.spring-webmvc.jar | springmvc框架的所有类 | 如果使用独立的mvc框架无需使用这个jar包 | |
6.spring-jdbc.jar | 对spring的jdbc数据局访问封装的所有类 | spring-beans,spring-dao | |
7.spring-web.jar | web应用开发时,用到spring框架所需的核心类,包括自动载入webapplication context特性的类 | spring-context,servlet api | @RequestMapping |
- spring框架中如何理解BeanFactory和Application Context的区别
BeanFactory和Application Context的区别
概要:
两者都是通过xml配置文件加载bean,Application Context和BeanFactory相比提供了更多的扩展功能,
但两者的主要区别是后者是延迟加载,如果bean的某一个属性没有注入,BeanFactory加载后,直至第一次使用调用getBean方法才会抛出异常;
而application context则在初始化自身时检查,这样有利于检查所依赖属性是否注入;所以通常情况下使用application Context
说明:
1.BeanFactory采用延迟加载形式来注入bean的,即只有在使用到某个bean时(调用getBean()),才会对该bean进行实例化,这样就不能发现一些存在的spring的配置问题;
而application context则相反,它在容器启动时,一次性创建了所有的bean,这样在容器启动时,我们就可以发现spring的配置问
2.BeanFactory和application context都支持beanpostprocessor,BeanFactoryProcessor的使用,
但两者主要区别是:BeanFactory需要手动注册,而application context则自动注册
- spring aop中有哪些通知类型
|类型|说明|
|@before:前置通知|在一个方法执行前被调用|
|@after:后置通知|在方法执行之后调用的通知,无论方法执行是否成功|
|@after-returnin:最终通知|仅当方法成功后执行的通知|
|@after-throwing:异常通知|在方法抛出异常退出时执行的通知|
|@around:环绕通知|在方法执行前和之后调用的通知|
- 自动代理类型
BeanNameAutoProxyCreator
DefaultAdvisorAutoProxyCreator
Metadata AutoProxying