Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/code4craft/tiny-spring
/ types & classes
Types & classes
106 in github.com/code4craft/tiny-spring
⨍
Functions
270
◇
Types & classes
106
Class
AbstractAopProxy
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AbstractAopProxy.java:6
Class
AbstractAopProxy
继承了AopProxy接口,有获取代理对象的能力 同时继承此接口有AdvisedSupport的支持
src+/main/java/com/ysj/tinySpring/aop/AbstractAopProxy.java:8
Class
AbstractApplicationContext
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/context/AbstractApplicationContext.java:11
Class
AbstractApplicationContext
ApplicationContext 的抽象实现
src+/main/java/com/ysj/tinySpring/context/AbstractApplicationContext.java:12
Class
AbstractBeanDefinitionReader
从配置中读取BeanDefinition @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/AbstractBeanDefinitionReader.java:13
Class
AbstractBeanDefinitionReader
实现 BeanDefinitionReader 接口的抽象类(未具体实现 loadBeanDefinitions,而是规范了 BeanDefinitionReader 的基本结构)
src+/main/java/com/ysj/tinySpring/beans/AbstractBeanDefinitionReader.java:12
Class
AbstractBeanFactory
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/factory/AbstractBeanFactory.java:15
Class
AbstractBeanFactory
BeanFactory 的一种抽象类实现,规范了 IoC 容器的基本结构。 IoC 容器的结构:AbstractBeanFactory 维护一个 beanDefinitionMap 哈希表用于保存类的定义信息(BeanDefinition)。
src+/main/java/com/ysj/tinySpring/beans/factory/AbstractBeanFactory.java:18
Interface
Advice
Tag interface for Advice. Implementations can be any type of advice, such as Interceptors. @author Rod Johnson @version $Id: Advice.java,v 1.1 2004/03
src+/部分aopalliance分析/Advice.java:9
Class
AdvisedSupport
代理相关的元数据 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AdvisedSupport.java:9
Class
AdvisedSupport
AdvisedSupport封装了TargetSource, MethodInterceptor和MethodMatcher
src+/main/java/com/ysj/tinySpring/aop/AdvisedSupport.java:9
Interface
Advisor
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/Advisor.java:8
Interface
Advisor
通知器 用于实现 具体的方法拦截,需要使用者编写,也就对应了 Spring 中的前置通知、后置通知、环切通知等。
src+/main/java/com/ysj/tinySpring/aop/Advisor.java:10
Interface
AopProxy
AOP代理 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AopProxy.java:7
Interface
AopProxy
AopProxy是个标志型接口 暴露获取aop代理对象方法的接口
src+/main/java/com/ysj/tinySpring/aop/AopProxy.java:8
Interface
ApplicationContext
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/context/ApplicationContext.java:8
Interface
ApplicationContext
以 ApplicationContext 接口为核心发散出的几个类,主要是对前面 Resouce 、 BeanFactory、BeanDefinition 进行了功能的封装,解决 根据地址获取资源通过 IoC 容器注册bean定义并实例化bean的问题。 通常,要实现一个 IoC 容器时,需要先通
src+/main/java/com/ysj/tinySpring/context/ApplicationContext.java:14
Class
ApplicationContextTest
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/context/ApplicationContextTest.java:9
Class
ApplicationContextTest
@author yihua.huang@dianping.com
src+/test/java/com/ysj/context/ApplicationContextTest.java:14
Class
AspectJAroundAdvice
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AspectJAroundAdvice.java:13
Class
AspectJAroundAdvice
环绕通知 用AspectJ表达式匹配
src+/main/java/com/ysj/tinySpring/aop/AspectJAroundAdvice.java:16
Class
AspectJAwareAdvisorAutoProxyCreator
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AspectJAwareAdvisorAutoProxyCreator.java:13
Class
AspectJAwareAdvisorAutoProxyCreator
实现了BeanFactoryAware接口:这个接口提供了对 BeanFactory 的感知,这样,尽管它是容器中的一个 Bean,却 可以获取容器 的引用,进而获取容器中所有的切点对象,决定对哪些对象的哪些方法进行代理。解决了 为哪些对象 提供 AOP 的植入 的问题。
src+/main/java/com/ysj/tinySpring/aop/AspectJAwareAdvisorAutoProxyCreator.java:17
Class
AspectJExpressionPointcut
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AspectJExpressionPointcut.java:15
Class
AspectJExpressionPointcut
通过AspectJ表达式识别切点
src+/main/java/com/ysj/tinySpring/aop/AspectJExpressionPointcut.java:16
Class
AspectJExpressionPointcutAdvisor
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/AspectJExpressionPointcutAdvisor.java:8
Class
AspectJExpressionPointcutAdvisor
AspectJ表达式切点通知器
src+/main/java/com/ysj/tinySpring/aop/AspectJExpressionPointcutAdvisor.java:9
Class
AspectJExpressionPointcutTest
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/aop/AspectJExpressionPointcutTest.java:11
Class
AspectJExpressionPointcutTest
@author yihua.huang@dianping.com
src+/test/java/com/ysj/aop/AspectJExpressionPointcutTest.java:13
Class
AutowireCapableBeanFactory
可自动装配内容的BeanFactory @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/factory/AutowireCapableBeanFactory.java:16
Class
AutowireCapableBeanFactory
可实现自动装配的BeanFactory
src+/main/java/com/ysj/tinySpring/beans/factory/AutowireCapableBeanFactory.java:15
Class
BeanDefinition
bean的内容及元数据,保存在BeanFactory中,包装bean的实体 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/BeanDefinition.java:8
Class
BeanDefinition
Bean在 IoC 容器中的定义, IoC 容器可以根据这个定义来生成实例 的问题 以 BeanDefinition 类为核心发散出的几个类,都是用于解决 Bean 的具体定义问题,包括 Bean 的名字是什么、 它的类型是什么,它的属性赋予了哪些值或者引用
src+/main/java/com/ysj/tinySpring/beans/BeanDefinition.java:10
Interface
BeanDefinitionReader
从配置中读取BeanDefinition @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/BeanDefinitionReader.java:7
Interface
BeanDefinitionReader
解析 BeanDefinition 的接口 暴露加载bean定义的方法
src+/main/java/com/ysj/tinySpring/beans/BeanDefinitionReader.java:8
Interface
BeanFactory
bean的容器 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/factory/BeanFactory.java:7
Interface
BeanFactory
标识一个 IoC 容器。 以 BeanFactory 接口为核心发散出的几个类,都是用于解决 IoC 容器在 已经获取 Bean 的 定义 的情况下, 如何装配、获取 Bean 实例 的问题。
src+/main/java/com/ysj/tinySpring/beans/factory/BeanFactory.java:10
Interface
BeanFactoryAware
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/BeanFactoryAware.java:8
Interface
BeanFactoryAware
实现该接口则有操作beanFactory的能力 容器的引用传入到 Bean 中去,这样,Bean 将获取容器的引用,获取对容器操作的权限,也就允许了 编写 扩展 IoC 容器的功能的 Bean。 例如:获取容器中所有的 切点对象,决定对哪些对象的哪些方法进行代理。解决了 为哪些对象提供 AO
src+/main/java/com/ysj/tinySpring/aop/BeanFactoryAware.java:13
Class
BeanFactoryTest
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/BeanFactoryTest.java:14
Class
BeanFactoryTest
@author yihua.huang@dianping.com
src+/test/java/com/ysj/BeanFactoryTest.java:16
Class
BeanInitializeLogger
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/BeanInitializeLogger.java:8
Class
BeanInitializeLogger
实例化bean后,初始化时会调用该方法 @author yihua.huang@dianping.com
src+/test/java/com/ysj/BeanInitializeLogger.java:9
Interface
BeanPostProcessor
src/main/java/us/codecraft/tinyioc/beans/BeanPostProcessor.java:3
Interface
BeanPostProcessor
用于在bean定义初始化时嵌入相关操作 例如:在 postProcessorAfterInitialization 方法中,使用动态代理的方式,返回一个对象的代理对象。解决了 在 IoC 容器的何处植入 AOP 的问题。
src+/main/java/com/ysj/tinySpring/beans/BeanPostProcessor.java:9
Class
BeanReference
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/BeanReference.java:6
Class
BeanReference
用于代表property标签的ref属性里的对象
src+/main/java/com/ysj/tinySpring/BeanReference.java:7
Class
Cglib2AopProxy
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/Cglib2AopProxy.java:12
Class
Cglib2AopProxy
cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但 因为采用的是继承, 所以不能对final修饰的类进行代理。
src+/main/java/com/ysj/tinySpring/aop/Cglib2AopProxy.java:14
Class
Cglib2AopProxyTest
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/aop/Cglib2AopProxyTest.java:12
Class
Cglib2AopProxyTest
@author yihua.huang@dianping.com
src+/test/java/com/ysj/aop/Cglib2AopProxyTest.java:16
Class
CglibMethodInvocation
src/main/java/us/codecraft/tinyioc/aop/Cglib2AopProxy.java:49
Class
CglibMethodInvocation
src+/main/java/com/ysj/tinySpring/aop/Cglib2AopProxy.java:78
Interface
ClassFilter
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/ClassFilter.java:6
Interface
ClassFilter
类匹配器
src+/main/java/com/ysj/tinySpring/aop/ClassFilter.java:7
Class
ClassPathXmlApplicationContext
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/context/ClassPathXmlApplicationContext.java:14
Class
ClassPathXmlApplicationContext
从类路径加载资源的具体实现类
src+/main/java/com/ysj/tinySpring/context/ClassPathXmlApplicationContext.java:15
Class
DynamicAdvisedInterceptor
src/main/java/us/codecraft/tinyioc/aop/Cglib2AopProxy.java:28
Class
DynamicAdvisedInterceptor
注意该类实现的是net.sf.cglib.proxy.MethodInterceptor,不是aopalliance的MethodInterceptor. net.sf.cglib.proxy.MethodInterceptor.java: public interface MethodInterc
src+/main/java/com/ysj/tinySpring/aop/Cglib2AopProxy.java:50
Interface
HelloWorldService
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/HelloWorldService.java:6
Interface
HelloWorldService
@author yihua.huang@dianping.com
src+/test/java/com/ysj/HelloWorldService.java:6
Class
HelloWorldServiceImpl
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/HelloWorldServiceImpl.java:6
Class
HelloWorldServiceImpl
@author yihua.huang@dianping.com
src+/test/java/com/ysj/HelloWorldServiceImpl.java:6
Interface
Interceptor
This interface represents a generic interceptor. <p>A generic interceptor can intercept runtime events that occur within a base program. Those events
src+/部分aopalliance分析/Interceptor.java:50
Interface
Invocation
This interface represents an invocation in the program. <p>An invocation is a joinpoint and can be intercepted by an interceptor. @author Rod Johnso
src+/部分aopalliance分析/Invocation.java:11
Class
JdkDynamicAopProxy
基于jdk的动态代理 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/JdkDynamicAopProxy.java:14
Class
JdkDynamicAopProxy
一个基于JDK的动态代理 只能针对实现了接口的类生成代理。于是我们就有了基本的织入功能。 注意:实现了InvocationHandler接口,可以通过重写invoke方法进行控制访问
src+/main/java/com/ysj/tinySpring/aop/JdkDynamicAopProxy.java:15
Class
JdkDynamicAopProxyTest
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/aop/JdkDynamicAopProxyTest.java:12
Class
JdkDynamicAopProxyTest
@author yihua.huang@dianping.com
src+/test/java/com/ysj/aop/JdkDynamicAopProxyTest.java:16
Interface
Joinpoint
This interface represents a generic runtime joinpoint (in the AOP terminology). <p>A runtime joinpoint is an <i>event</i> that occurs on a static joi
src+/部分aopalliance分析/Joinpoint.java:23
Interface
MethodInterceptor
Intercepts calls on an interface on its way to the target. These are nested "on top" of the target. <p>The user should implement the {@link #invoke(M
src+/部分aopalliance分析/MethodInterceptor.java:24
Interface
MethodInvocation
Description of an invocation to a method, given to an interceptor upon method-call. <p>A method invocation is a joinpoint and can be intercepted by a
src+/部分aopalliance分析/MethodInvocation.java:13
Interface
MethodMatcher
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/MethodMatcher.java:8
Interface
MethodMatcher
方法匹配器
src+/main/java/com/ysj/tinySpring/aop/MethodMatcher.java:9
Interface
OutputService
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/OutputService.java:6
Interface
OutputService
@author yihua.huang@dianping.com
src+/test/java/com/ysj/OutputService.java:6
Class
OutputServiceImpl
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/OutputServiceImpl.java:6
Class
OutputServiceImpl
@author yihua.huang@dianping.com
src+/test/java/com/ysj/OutputServiceImpl.java:6
Interface
Pointcut
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/Pointcut.java:6
Interface
Pointcut
切点, 确定是对什么类的什么方法进行AOP(就是确定在哪切)
src+/main/java/com/ysj/tinySpring/aop/Pointcut.java:8
Interface
PointcutAdvisor
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/PointcutAdvisor.java:6
Interface
PointcutAdvisor
切点通知器
src+/main/java/com/ysj/tinySpring/aop/PointcutAdvisor.java:8
Class
PropertyValue
用于bean的属性注入 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/PropertyValue.java:7
Class
PropertyValue
封装bean的属性
src+/main/java/com/ysj/tinySpring/beans/PropertyValue.java:7
Class
PropertyValues
包装一个对象所有的PropertyValue。<br/> 为什么封装而不是直接用List?因为可以封装一些操作。 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/PropertyValues.java:11
Class
PropertyValues
封装一个对象所有的PropertyValue。 为什么封装而不是直接用List? 因为可以封装一些操作。
src+/main/java/com/ysj/tinySpring/beans/PropertyValues.java:11
Class
ProxyFactory
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/ProxyFactory.java:6
Class
ProxyFactory
src+/main/java/com/ysj/tinySpring/aop/ProxyFactory.java:4
Class
ReflectiveMethodInvocation
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/ReflectiveMethodInvocation.java:11
Class
ReflectiveMethodInvocation
封装被代理对象的方法
src+/main/java/com/ysj/tinySpring/aop/ReflectiveMethodInvocation.java:12
Interface
Resource
Resource是spring内部定位资源的接口。 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/io/Resource.java:10
Interface
Resource
标识一个外部资源。 以 Resource 接口为核心发散出的几个类,都是用于解决 IoC 容器中的内容从哪里来的问题,也就是 配置文件 从哪里读取、配置文件如何读取 的问题。
src+/main/java/com/ysj/tinySpring/beans/io/Resource.java:12
Class
ResourceLoader
@author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/beans/io/ResourceLoader.java:8
Class
ResourceLoader
资源加载类
src+/main/java/com/ysj/tinySpring/beans/io/ResourceLoader.java:9
Class
ResourceLoaderTest
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/beans/io/ResourceLoaderTest.java:12
Class
ResourceLoaderTest
@author yihua.huang@dianping.com
src+/test/java/com/ysj/beans/io/ResourceLoaderTest.java:15
Class
TargetSource
被代理的对象 @author yihua.huang@dianping.com
src/main/java/us/codecraft/tinyioc/aop/TargetSource.java:7
Class
TargetSource
封装被代理的对象的类的相关信息
src+/main/java/com/ysj/tinySpring/aop/TargetSource.java:7
Class
TimerInterceptor
@author yihua.huang@dianping.com
src/test/java/us/codecraft/tinyioc/aop/TimerInterceptor.java:9
Class
TimerInterceptor
@author yihua.huang@dianping.com
src+/test/java/com/ysj/aop/TimerInterceptor.java:9
next →
1–100 of 106, ranked by callers