Spring
G0_hw
路漫漫其修远兮,吾将上下而求索
https://github.com/Go007/
https://gitee.com/hong_007/projects
展开
-
从Spring中学习设计模式
原创 2019-06-05 10:29:35 · 461 阅读 · 0 评论 -
Spring探索(六):AOP二世
1.@AspectJ形式的Spring AOP引入了AspectJ的Pointcut描述语言,直接使用POJO来定义Aspect以及相关的Advice。Spring AOP使用AspectJ的类库进行Pointcut的解析和匹配,但最终的实现机制还是Spring AOP的架构,即使用代理模式处理横切逻辑的织入。@AspectJ形式的Pointcut声明包含两部分:Pointcut Expre...原创 2018-11-05 23:13:14 · 200 阅读 · 0 评论 -
Spring探索(一):IoC容器之BeanFactory
1.Spring框架概述Spring框架倡导基于POJO(Plain Old Java Object,简答Java对象)的轻量级开发理念,从实际出发,立足于最基础的POJO.2.什么是IoC?Inversion of Control,控制反转,DI(Dependency Injection)依赖注入从对象绑定方式的角度看,我们不再主动的去获取依赖的对象,而是交由容器给我们注入进来,对象间的...原创 2018-10-26 23:27:36 · 390 阅读 · 0 评论 -
Spring探索(六):AOP一世
1.Spring AOP中的JoinpointAOP的Joinpoint可以有许多种类型,但在Spring AOP中,仅支持方法级别的Joinpoint。更确切的说,只支持方法执行(Method Execution)类型的Joinpoint。但在实际的开发中,这已经满足大部分开发需求了。2.Spring AOP中的Pointcutpackage org.springframework.aop...原创 2018-10-31 23:15:19 · 231 阅读 · 0 评论 -
Spring探索(五):AOP实现机制
1. 代理模式(Proxy Pattern):静态代理2.动态代理(Dynamic Proxy)为指定的接口在系统运行期间动态的生成代理对象。java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler/***动态创建实现了interfaces数组中所有指定接口的实现类对象*ClassLoader:类加载器,把.cla...原创 2018-10-31 22:21:24 · 443 阅读 · 0 评论 -
Spring探索(四):一起来看AOP
1.Java平台上的AOP实现机制1.1 动态代理限制:被代理的类必须要实现相应的接口。Spring AOP默认采用这种机制。1.2 动态字节码增强限制:如果需要扩展的类以及类中的实例方法等都声明为final的话,则无法对其进行子类化的扩展。Spring AOP在无法采用动态代理的时候,会使用CGLIB库的动态字节码增强技术。2. AOP中的核心概念(以AspectJ为准)2.1 Jo...原创 2018-10-29 23:25:59 · 151 阅读 · 0 评论 -
Spring探索(三):IoC容器之扩展
1.基于注解的依赖注入Spring 2.5提供的基于注解的依赖注入功能延续了Spring框架内在IoC容器设计与实现上的一致性.除了依赖关系的"表达"方式上不同,底层的实现机制基本保持一致.1.1 注解版的自动绑定:@Autowired@Autowired通过org.springframework.beans.factory.annotation.AutowiredAnnotationBea...原创 2018-10-29 22:32:30 · 187 阅读 · 0 评论 -
Spring探索(二):IoC容器之ApplicationContext
ApplicationContext类型的容器构建于BeanFactory之上,是Spring提供的更加高级的IoC Service Provider,Application Context相交于BeanFactory,提供了一些特有的特性,如国际化(I18n)信息支持,统一资源加载策略,容器内事件发布等.1.统一资源加载策略Spring中的资源抽象和加载策略org.springframew...原创 2018-10-28 23:34:09 · 208 阅读 · 0 评论 -
Spring:@Transactional一次排查问题记录
一.服务异常描述 微服务架构,根据日志定位到错误是在B服务的某个方法插入表数据时抛出的,错误代码是:ORA-02291: 违反完整约束条件 (*) - 未找到父项关键字伪代码如下:@Transactionalpublic void serviceB(){ int update = xxxMapper.save(beanB);}数据库用的是Oracle,错误提示也很明显...原创 2018-08-31 14:53:02 · 687 阅读 · 0 评论 -
Spring:lookup-method方法注入
一.Spring中Bean的状态无状态Bean:bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean 的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。有状态Bean: 每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初...转载 2018-08-28 15:40:58 · 1190 阅读 · 0 评论