![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
夏目尊尊
java小猿一枚,积累知识,积累快乐
展开
-
IOC是如何实现的?
一.IOC如何实现: 1)读取Resource(applicationcontext.xml)获取BeanDefinition 注册到(id,type,properties) Bean定义注册表中; 2)第一次向容器getBean操作会触发Bean的创建过程(createBean),实列化一个Bean时 ,根据BeanDefinition中类信息等实列化Bean; 3)将实列化的Bean...原创 2018-09-23 16:37:44 · 6922 阅读 · 0 评论 -
AOP是如何实现的?
Spring中的AOP代理还是离不开Spring的IOC容器,代理的生成,管理及其依赖关系都是由IOC容器负责;Spring默认使用JDK动态代理,在需要代理类而不是代理接口的时候,Spring会自动切换为使用CGLIB代理,不过现在的项目都是面向接口编程,所以JDK动态代理相对来说用的还是多一些。 JDK动态代理(默认使用): 代理类实现InvocationHandler接口,加上反射生...原创 2018-09-23 23:04:37 · 686 阅读 · 0 评论 -
理解spring的生命周期
1. public DemoSpring(){ //实例化一个空对象 } 2. .public void setBeanProperties(String s) { //将值和引用注入到Bean对应的属性中 } 3.实现BeanNameAware @Override public void setBeanName(St...原创 2018-09-24 11:57:27 · 569 阅读 · 0 评论 -
spring的事务传播机制
前言: Spring默认情况下会对运行期发生的异常(RunTimeException),即uncheck异常,进行事务回滚。如果遇到checked异常就不回滚。 不过也可以自定义: 1. 让checked也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class) 2 .让unchecked不回滚: @Transactional(n...原创 2018-09-24 13:21:28 · 1955 阅读 · 0 评论 -
spring的事务隔离级别
1. ISOLATION_DEFAULT: 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 另外四个与JDBC的隔离级别相对应。 2. ISOLATION_READ_UNCOMMITTED: 这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。 这种隔离级别会产生脏读,不可重复读和幻读。 3. ISOL...原创 2018-09-24 13:42:10 · 313 阅读 · 0 评论 -
spring的rollbackfor是如何影响数据库实现回滚的?
因为spring的事务是基于数据库的事务的。 spring在启动生成Bean之后,会为标注上@Transactional的类和方法生成代理,并将相关配置注入, 这样就在代理中为我们把事务的操作处理了。(commit,roolbackfor等) 真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。...原创 2018-09-27 22:52:30 · 827 阅读 · 0 评论 -
springmvc和struts2的区别
虽然现在struts2用的不多,但是面试的时候可能会问,故在此简单总结一下: springmvc struts2 1 配置 无 比较多 2 基于什么开发 方法 类 3 入口 servlet filter 4 如何管理controller 默认单例,支持多例 ...原创 2018-10-06 10:45:45 · 146 阅读 · 0 评论