Spring默认BeanName】的更多相关文章

spring根据beanName获取bean主要实现: org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(String, Class<T>, Object[], boolean) @SuppressWarnings("unchecked") protected <T> T doGetBean( final String name, final Class<T>…
Spring 默认的 AopProxy JdkDynamicAopProxy Spring xml 文件默认解析器 DefaultDocumentLoader 采用 standard JAXP-configured XML parser 进行解析…
spring 默认情况下事务是惟一的 同一个方法里面第一个sql开启后 在执行完 将事务传递给下一个sql…
这几天在看spring的源码,涉及到spring启动位置的部分,下面就看看spring到底是从哪儿开始加载的.本文使用的是spring3.0M3 首先spring的加载会借助一个监听器ContextLoaderListener,直接上web.xml文件 <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listene…
简单配置的方式,直接展示静态网页,不经过Controller. web.xml 中什么没有配置任何有关欢迎页的信息!其实这时等效于如下配置:这个会由Web容器最先访问! //-未指定欢迎页时,缺省等于如下配置.这个应该不同的Web服务器可以设置,但大多数都如此-. <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-fi…
这两天看到一个bug,记录下. 在获取任务的时候,本来任务不是由这个柜员领取的,但是最后跑到那个柜员下面去了. 查看日志,发现两个任务的领取操作很近,日志是穿插着打的. 后来经人指点,说spring初始化bean默认是单实例模式,也就是说这个类的私有属性被后来的调用给改掉了.导致在领取任务的时候 第一个调用的领任务的类的私有变量就变为第二次调用的任务的.所以领串了.这样第二个调用也会随之报错. 这个bug解决的话两个方法. 1:去掉这个私有变量,直接在方法里面初始化. 2.修改spring 初始…
我想大部分朋友对spring的单例模式都比較了解. 什么叫单例模式呢,顾名思义就是无论有多少个请求,都仅仅生成一个实例. 比方在spring中a,b请求都在调用同样的bean ,他们都是调用的同一个bean,而不会为这两个请求都分配一个不同的实例. 那么两个请求都调用的同一个实例,那么就easy 出现同步问题.这个同步问题主要出如今该实例的各种变量上.当我们a请求调用方法A.对变量a进行操作,b请求调用方法B,对变量a进行操作.这样就会出现两个同一时候对a进行 操作.就会产生同步的问题.所以为了…
写在前面 上文Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作中Spring对XML解析后创建了对应的Document对象,处理完profile后终于到了标签的解析,这篇文章主要来探究Spring默认标签的解析. 1.4 BeanDefinition的创建 - 处理Spring默认标签 protected void parseBeanDefinitions(Element root, BeanDefiniti…
Spring 系列教程之默认标签的解析 之前提到过 Spring 中的标签包括默认标签和自定义标签两种,而两种标签的用法以及解析方式存在着很大的不同,本章节重点带领读者详细分析默认标签的解析过程. 默认标签的解析是在 parsedefaultelement(ele, delegate) 函数中进行的,函数中的功能逻辑一目了然,分别对4种不同标签(import. alias.bean 和 beans)做了不同的处理. private void parseDefaultElement(Element…
1. 一个类实现多个接口 如下图中的JobService.java, 此时这个beanName=jobService,  没有包名,类名字首字母小写 可以使用下面三种方式获得这个bean IProcess bean = applicationContext.getBean(IProcess.class); Object jobService = applicationContext.getBean("jobService"); ITask jobService1 = applicati…