
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 · 7135 阅读 · 0 评论 -
AOP是如何实现的?
Spring中的AOP代理还是离不开Spring的IOC容器,代理的生成,管理及其依赖关系都是由IOC容器负责;Spring默认使用JDK动态代理,在需要代理类而不是代理接口的时候,Spring会自动切换为使用CGLIB代理,不过现在的项目都是面向接口编程,所以JDK动态代理相对来说用的还是多一些。JDK动态代理(默认使用):代理类实现InvocationHandler接口,加上反射生...原创 2018-09-23 23:04:37 · 722 阅读 · 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 · 609 阅读 · 0 评论 -
spring的事务传播机制
前言:Spring默认情况下会对运行期发生的异常(RunTimeException),即uncheck异常,进行事务回滚。如果遇到checked异常就不回滚。不过也可以自定义:1. 让checked也回滚:在整个方法前加上@Transactional(rollbackFor=Exception.class)2 .让unchecked不回滚:@Transactional(n...原创 2018-09-24 13:21:28 · 2008 阅读 · 0 评论 -
spring的事务隔离级别
1. ISOLATION_DEFAULT:这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。另外四个与JDBC的隔离级别相对应。 2. ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻读。 3. ISOL...原创 2018-09-24 13:42:10 · 344 阅读 · 0 评论 -
spring的rollbackfor是如何影响数据库实现回滚的?
因为spring的事务是基于数据库的事务的。spring在启动生成Bean之后,会为标注上@Transactional的类和方法生成代理,并将相关配置注入,这样就在代理中为我们把事务的操作处理了。(commit,roolbackfor等)真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。...原创 2018-09-27 22:52:30 · 863 阅读 · 0 评论 -
springmvc和struts2的区别
虽然现在struts2用的不多,但是面试的时候可能会问,故在此简单总结一下: springmvc struts2 1 配置 无 比较多 2 基于什么开发 方法 类 3 入口 servlet filter 4 如何管理controller 默认单例,支持多例...原创 2018-10-06 10:45:45 · 176 阅读 · 0 评论