1.获取 applicationContext,通过ApplicationAware自动注入 2.getBeansOfType.getBeanNamesForType Map<String, Interface> result = applicationContext().getBeansOfType(Interface.class); //key位 beanName,value为bean String[] result = applicationContext().getBeanNamesF…
finishBeanFactoryInitialization(beanFactory);初始化剩下的所有的单实例(非懒加载)Bean(Instantiate all remaining (non-lazy-init) singletons.) 1. beanFactory.preInstantiateSingletons();初始化剩下的所有的单实例(非懒加载)Bean 1) 首先获取所有BeanDefinition的名字List<String> beanNames = new ArrayL…
Java提供了Class类,可以通过编程方式获取类别的字段和方法,包括构造方法    获取Class类实例的方法:   类名.class   实例名.getClass()   Class.forName(className) public class RefTest { @Test public void testRef(){ //Class cls = RefTest.class; //Class.forName("com.jboa.service.RefTest"); //new…
面向切面编程可以实现在不修改原来代码的情况下,增加我们所需的业务处理逻辑,比如:添加日志.本文AOP实例是基于Aspect Around注解实现的,我们需要在调用API函数的时候,统计函数调用的具体信息,包括:函数签名,传入参数,函数处理时间,异常信息拦截等, @Around是可以同时在所拦截方法的前后执行一段逻辑,可以满足我们的需求. 目标对象 目标对象是一个客户管理服务,下面分别是其服务接口定义和具体业务逻辑实现. API public interface CustomerManagerSe…
RMI 相关知识 RMI全称是Remote Method Invocation-远程方法调用,Java RMI在JDK1.1中实现的,其威力就体现在它强大的开发分布式网络应用的能力上,是纯Java的网络分布式应用系统的核心解决方案之一.其实它可以被看作是RPC的Java版本.但是传统RPC并不能很好地应用于分布式对象系统.而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用. RMI目前使用Java远程消息交换协议JRMP(Java Remot…
Spring中提供一些Aware相关接口,像是BeanFactoryAware. ApplicationContextAware.ResourceLoaderAware.ServletContextAware等等,实作这些 Aware接口的Bean在被初始之后,可以取得一些相对应的资源,例如实作BeanFactoryAware的Bean在初始后,Spring容器将会 注入BeanFactory的实例,而实作ApplicationContextAware的Bean,在Bean被初始后,将会被注入…
转自:http://chinazhaokeke.blog.163.com/blog/static/109409055201092811354236  Spring获取ApplicationContext方式 我自己常用的方法: 读取一个文件1 //创建Spring容器 ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); //获取chinese 实例 Person p = ctx.getBean…
1.实现了相应的aware接口,这个类就获取了相应的资源. 2.spring中有很多aware接口,包括applicationContextAware接口,和BeanNameAware接口. 实现了这些接口的类,然后,这类中就包含了applicationContext对象的引用.BeanNameAware接口就是返回此bean的名字而已,一个string 3.applicationContext就是ioc容器,其实现了BeanFactory,可以解析xml里的各种bean,并把这些bean存储在…
一:ApplicationContextAware接口 实现ApplicationContextAware接口,重写setApplicationContext方法,可以将spring容器上下文对象注入, 然后持有spring上下文对象,可以通过该对象获取spring容器中注册的任何bean实例. /** * @author Administrator * 实现ApplicationContextAware接口,重写setApplicationContext方法,会注入 * spring上下文对象…
目录 1. 引言 2. 初始化bean的入口 3 尝试从当前容器及其父容器的缓存中获取bean 3.1 获取真正的beanName 3.2 尝试从当前容器的缓存中获取bean 3.3 从父容器中查找bean 3.4 解析bean的依赖 3.5 再一次尝试从缓存中获取 4. 真正创建Bean的方法createBean() 4.1 实例化bean的前置处理 4.2 选择合适的策略创建bean实例 4.3 填充bean的属性,解析依赖,递归创建依赖的bean 4.4 初始化bean 5. 总结 6.…