spring知识点

 1.简述一下spring的事务管理。
事务:事务是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做。从数据库的角度来说,就是一组SQL语句。
事务具有4个特性,缺一不可,即:ACID(原子性、一致性、隔离性和持久性)
原子性:事务是不可分割的最小单元,事务内的操作要么全部都做,要么全部都不做。
一致性:事务执行时,是从一个一致状态变成另一个一致状态。
隔离性:一个事务的执行,不受其他事务(进程)的干扰。
持久性:事务一旦提交,对数据库的改变是持久的。

Spring框架提供了基于编程式事务管理和基于声明式事务管理。
 

2.Spring里面applicationContext.xml文件能不能改成其他文件名?
ContextLoaderListener是一个ServletContextListener, 它在你的web应用启动的时候初始化。缺省情况下, 它会在WEB-INF/applicationContext.xml文件找Spring的配置。 你可以通过定义一个<context-param>元素名字为”contextConfigLocation”来改变Spring配置文件的位置。示例如下:

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener
            <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/xyz.xml</param-value>
            </context-param>
        </listener-class>
    </listener>

 

3.spring中的BeanFactory与ApplicationContext的作用有哪些?
1.BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。
2.ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能:
a. 国际化支持
b. 资源访问:Resource rs = ctx. getResource(”classpath:config.properties”),  “file:c:/config.properties”
c. 事件传递:通过实现ApplicationContextAware接口
 

 4.Spring框架的优点都有什么?
Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分;
Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高;
依赖注入和IoC使得JDBC操作简单化;
Spring是开源的免费的;
Spring使得对象管理集中化合简单化。


5.构造器注入和 setter 依赖注入,那种方式更好?
每种方式都有它的缺点和优点。构造器注入保证所有的注入都被初始化,但是 setter 注入提供更好的灵活性来设置可选依赖。如果使用 XML 来描述依赖,Setter 注入的可读写会更强。经验法则是强制依赖使用构造器注入,可选依赖使用 setter 注入。
 

6.依赖注入和工程模式之间有什么不同?
虽然两种模式都是将对象的创建从应用的逻辑中分离,但是依赖注入比工程模式更清晰。通过依赖注入,你的类就是 POJO,它只知道依赖而不关心它们怎么获取。使用工厂模式,你的类需要通过工厂来获取

 

7.列出IOC的3种主要注入方式?
1.构造方法注入;
2.设置属性注入;
3.接口注入。

 

8.简述Spring中常用的几种Advice?
1.MethodBeforeAdvice:在方法执行前处理
2.AfterReturningAdvice:在方法执行后处理
3.ThrowAdvice:在方法执行期间抛出异常时处理
4.MethodInterceptor:在方法执行前后处理
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值