Spring ResourceLoader.getResource() & getResources()的理解



   关于Spring Resource的资源类型以及继承体系我们已经在上一篇文件粗略的说了一下。Spring加载Resource文件是通过ResourceLoader来进行的,那么我们就先来看看ResourceLoader的继承体系,让我们对这个模块有一个比较系统的认知。


上图仅右边的继承体系,仅画至AbstractApplicationContext,由于ApplicationContext的继承体系,我们已经在前面章节给出,所以为了避免不必要的复杂性,本章继承体系就不引入ApplicationContext。

  



我们还是来关注本章的重点————classpath 与 classpath*以及通配符是怎么处理的


首先,我们来看下ResourceLoader的源码

public interface ResourceLoader {

	/** Pseudo URL prefix for loading from the class path: "classpath:" */
	String CLASSPATH_URL_PREFIX = ResourceUtils.CLASSPATH_URL_PREFIX;
	
	Resource getResource(String location);

	ClassLoader getClassLoader();

}

我们发现,其实ResourceLoader接口只提供了classpath前缀的支持。而classpath*的前缀支持是在它的子接口ResourcePatternResolver中。

public interface ResourcePatternResolver extends ResourceLoader {

	/**
	 * Pseudo URL prefix for all matching resources from the class path: "classpath*:"
	 * This differs from ResourceLoader's classpath URL prefix in that it
	 * retrieves all matching resources for a given name (e.g. "/beans.xml"),
	 * for example in the root of all deployed JAR files.
	 * @see org.springframework.core.io.ResourceLoader#CLASSPATH_URL_PREFIX
	 */
	String CLASSPATH_ALL_URL_PREFIX = "classpath*:";

	
	Resource[] getResources(String locationPattern) throws IOException;

}

   通过2个接口的源码对比,我们发现ResourceLoader提供 classpath下单资源文件的载入,而 ResourcePatternResolver提供了多资源文件的载入。

  ResourcePatternResolver有一个实现类:PathMatchingResourcePatternResolver,那我们直奔主题,查看PathMatchingResourcePatternResolver的getResources()

public Resource[] getResources(String locationPattern) throws IOException {
		Assert.notNull(locationPattern, "Location pattern must not be null");
		//是否以classpath*开头
		if (locationPattern.startsWith(CLASSPATH_ALL_URL_PREFIX)) {
			//是否包含?或者*
			if (getPathMatcher().isPattern(locationPattern.substring(CLASSPATH_ALL_URL_PREFIX.length()))) {
				// a class path resource pattern
				return findPathMatchingResources(locationPattern);
			}
			else {
				// all class path resources with the given name
				return findAllClassPathResources(locationPattern.substring(CLASSPATH_ALL_URL_PREFIX.length()));
			}
		}
		else {
			// Only look for a pattern after a prefix here
			// (to not get fooled by a pattern symbol in a strange prefix).
			int prefixEnd = locationPattern.indexOf(":") + 1;
			//是否包含?或者*
			if (getPathMatcher().isPattern(locationPattern.substring(prefixEnd))) {
				// a file pattern
				return findPathMatchingResources(locationPattern);
			}
			else {
				// a single resource with the given name
				return new Resource[] {getResourceLoader().getResource(locationPattern)};
			}
		}
	}

由此我们可以看出在加载配置文件时,以是否是以classpath*开头分为2大类处理场景,每大类在又根据路径中是否包括通配符分为2小类进行处理,

处理的流程图如下:


从上图看,整个加载资源的场景有三条处理流程

  • 以classpath*开头,但路径不包含通配符的
             让我们来看看findAllClassPathResources是怎么处理的
	protected Resource[] findAllClassPathResources(String location) throws IOException {
		String path = location;
		if (path.startsWith("/")) {
			path = path.substring(1);
		}
		Enumeration<URL> resourceUrls = getClassLoader().getResources(path);
		Set<Resource> result = new LinkedHashSet<Resource>(16);
		while (resourceUrls.hasMoreElements()) {
			URL url = resourceUrls.nextElement();
			result.add(convertClassLoaderURL(url));
		}
		return result.toArray(new Resource[result.size()]);
	}

    我们可以看到,最关键的一句代码是:Enumeration<URL> resourceUrls = getClassLoader().getResources(path); 
	public ClassLoader getClassLoader() {
		return getResourceLoader().getClassLoader();
	}


public ResourceLoader getResourceLoader() {
		return this.resourceLoader;
	}

//默认情况下
public PathMatchingResourcePatternResolver() {
		this.resourceLoader = new DefaultResourceLoader();
	}
其实上面这3个方法不是最关键的,之所以贴出来,是让大家清楚整个调用链,其实这种情况最关键的代码在于ClassLoader的getResources()方法。那么我们同样跟进去,看看源码
 public Enumeration<URL> getResources(String name) throws IOException {
	Enumeration[] tmp = new Enumeration[2];
	if (parent != null) {
	    tmp[0] = parent.getResources(name);
	} else {
	    tmp[0] = getBootstrapResources(name);
	}
	tmp[1] = findResources(name);

	return new CompoundEnumeration(tmp);
    }
是不是一目了然了?当前类加载器,如果存在父加载器,则向上迭代获取资源, 因此能加到jar包里面的资源文件。

  • 不以classpath*开头,且路径不包含通配符的
处理逻辑如下           
return new Resource[] {getResourceLoader().getResource(locationPattern)};
上面我们已经贴过getResourceLoader()的逻辑了, 即默认是DefaultResourceLoader(),那我们进去看看getResouce()的实现
	public Resource getResource(String location) {
		Assert.notNull(location, "Location must not be null");
		if (location.startsWith(CLASSPATH_URL_PREFIX)) {
			return new ClassPathResource(location.substring(CLASSPATH_URL_PREFIX.length()), getClassLoader());
		}
		else {
			try {
				// Try to parse the location as a URL...
				URL url = new URL(location);
				return new UrlResource(url);
			}
			catch (MalformedURLException ex) {
				// No URL -> resolve as resource path.
				return getResourceByPath(location);
			}
		}
	}

其实很简单,如果以classpath开头,则创建为一个ClassPathResource,否则则试图以URL的方式加载资源,创建一个UrlResource.
  • 路径包含通配符的
             这种情况是最复杂的,涉及到层层递归,那我把加了注释的代码发出来大家看一下,其实主要的思想就是
1.先获取目录,加载目录里面的所有资源
2.在所有资源里面进行查找匹配,找出我们需要的资源
protected Resource[] findPathMatchingResources(String locationPattern) throws IOException {
		//拿到能确定的目录,即拿到不包括通配符的能确定的路径  比如classpath*:/aaa/bbb/spring-*.xml 则返回classpath*:/aaa/bbb/                                     //如果是classpath*:/aaa/*/spring-*.xml,则返回 classpath*:/aaa/
		String rootDirPath = determineRootDir(locationPattern);
		//得到spring-*.xml
		String subPattern = locationPattern.substring(rootDirPath.length());
		//递归加载所有的根目录资源,要注意的是递归的时候又得考虑classpath,与classpath*的情况,而且还得考虑根路径中是否又包含通配符,参考上面那张流程图
		Resource[] rootDirResources = getResources(rootDirPath);
		Set<Resource> result = new LinkedHashSet<Resource>(16);
		//将根目录所有资源中所有匹配我们需要的资源(如spring-*)加载result中
		for (Resource rootDirResource : rootDirResources) {
			rootDirResource = resolveRootDirResource(rootDirResource);
			if (isJarResource(rootDirResource)) {
				result.addAll(doFindPathMatchingJarResources(rootDirResource, subPattern));
			}
			else if (rootDirResource.getURL().getProtocol().startsWith(ResourceUtils.URL_PROTOCOL_VFS)) {
				result.addAll(VfsResourceMatchingDelegate.findMatchingResources(rootDirResource, subPattern, getPathMatcher()));
			}
			else {
				result.addAll(doFindPathMatchingFileResources(rootDirResource, subPattern));
			}
		}
		if (logger.isDebugEnabled()) {
			logger.debug("Resolved location pattern [" + locationPattern + "] to resources " + result);
		}
		return result.toArray(new Resource[result.size()]);
	}

值得注解一下的是determineRootDir()方法的作用,是确定根目录,这个根目录必须是一个能确定的路径,不会包含通配符。如果classpath*:aa/bb*/spring-*.xml,得到的将是classpath*:aa/  可以看下他的源码

	protected String determineRootDir(String location) {
		int prefixEnd = location.indexOf(":") + 1;
		int rootDirEnd = location.length();
		while (rootDirEnd > prefixEnd && getPathMatcher().isPattern(location.substring(prefixEnd, rootDirEnd))) {
			rootDirEnd = location.lastIndexOf('/', rootDirEnd - 2) + 1;
		}
		if (rootDirEnd == 0) {
			rootDirEnd = prefixEnd;
		}
		return location.substring(0, rootDirEnd);
	}




分析到这,结合测试我们可以总结一下:
1.无论是classpath还是classpath*都可以加载整个classpath下(包括jar包里面)的资源文件。
2.classpath只会返回第一个匹配的资源,查找路径是优先在项目中存在资源文件,再查找jar包。
3.文件名字包含通配符资源(如果spring-*.xml,spring*.xml),   如果根目录为"", classpath加载不到任何资源, 而classpath*则可以加载到classpath中 可以匹配的目录中的资源,但是不能加载到jar包中的资源
    
      第1,2点比较好表理解,大家可以自行测试,第三点表述有点绕,举个例,现在有资源文件结构如下:


classpath:notice*.txt                                                               加载不到资源
classpath*:notice*.txt                                                            加载到resource根目录下notice.txt
classpath:META-INF/notice*.txt                                          加载到META-INF下的一个资源(classpath是加载到匹配的第一个资源,就算删除classpath下的notice.txt,他仍然可以                                                                                                  加载jar包中的notice.txt)
classpath:META-*/notice*.txt                                              加载不到任何资源
classpath*:META-INF/notice*.txt                                        加载到classpath以及所有jar包中META-INF目录下以notice开头的txt文件
classpath*:META-*/notice*.txt                                             只能加载到classpath下 META-INF目录的notice.txt
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
package cn.javass.spring.chapter4; import java.io.File; import java.io.IOException; import junit.framework.Assert; import org.jboss.vfs.VFS; import org.jboss.vfs.VirtualFile; import org.jboss.vfs.spi.RealFileSystem; import org.junit.Test; import org.springframework.core.io.Resource; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver; @SuppressWarnings("all") public class ResourcePatternTest { @Test public void testClasspathPrefix() throws IOException { ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); //只加载一个绝对匹配Resource,且通过ResourceLoader.getResource进行加载 Resource[] resources = resolver.getResources("classpath:META-INF/INDEX.LIST"); Assert.assertEquals(1, resources.length); //只加载一个匹配的Resource,且通过ResourceLoader.getResource进行加载 resources = resolver.getResources("classpath:META-INF/*.LIST"); Assert.assertTrue(resources.length == 1); //只加载一个绝对匹配Resource,且通过ResourceLoader.getResource进行加载 resources = resolver.getResources("classpath:META-INF/MANIFEST.MF"); Assert.assertEquals(1, resources.length); } @Test public void testClasspathAsteriskPrefix() throws IOException { ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); //将加载多个绝对匹配的所有Resource //将首先通过ClassLoader.getResources("META-INF")加载非模式路径部分 //然后进行遍历模式匹配 Resource[] resources = resolver.getResources("classpath*:META-INF/INDEX.LIST"); Assert.assertTrue(resources.length > 1); //将加载多个模式匹配的Resource resources = resolver.getResources("classpath*:META-INF/*.LIST"); Assert.assertTrue(resources.length > 1); } @Test public void testClasspathAsteriskPrefixLimit() throws IOException { ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); //将首先通过ClassLoader.getResources("")加载目录, //将只返回文件系统的类路径不返回jar的跟路径 //然后进行遍历模式匹配 Resource[] resources = resolver.getResources("classpath*:asm-*.txt"); Assert.assertTrue(resources.length == 0); //将通过ClassLoader.getResources("asm-license.txt")加载 //asm-license.txt存在于com.springsource.net.sf.cglib-2.2.0.jar resources = resolver.getResources("classpath*:asm-license.txt"); Assert.assertTrue(resources.length > 0); //将只加载文件系统类路径匹配的Resource resources = resolver.getResources("classpath*:LICENS*"); Assert.assertTrue(resources.length == 1); } @Test public void testFilekPrefix() throws IOException { ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources("file:D:/*.txt"); Assert.assertTrue(resources.length > 0); } @Test public void testVfsPrefix() throws IOException { //1.创建一个虚拟的文件目录 VirtualFile home = VFS.getChild("/home"); //2.将虚拟目录映射到物理的目录 VFS.mount(home, new RealFileSystem(new File("d:"))); //3.通过虚拟目录获取文件资源 VirtualFile testFile = home.getChild("test.txt"); ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); Resource[] resources = resolver.getResources("/home/test.txt"); Assert.assertTrue(resources.length > 0); System.out.println(resources[0].getClass()); } }
All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory.AspectJAnnotation AbstractAspectJAdvisorFactory.AspectJAnnotationType AbstractAutoProxyCreator AbstractAutowireCapableBeanFactory AbstractBeanDefinition AbstractBeanDefinitionParser AbstractBeanDefinitionReader AbstractBeanFactory AbstractBeanFactoryBasedTargetSource AbstractBeanFactoryBasedTargetSourceCreator AbstractBindingResult AbstractCachingLabeledEnumResolver AbstractCachingViewResolver AbstractCommandController AbstractCommandController AbstractComponentDefinition AbstractConfigurableMBeanInfoAssembler AbstractController AbstractController AbstractDataBoundFormElementTag AbstractDataFieldMaxValueIncrementer AbstractDataSource AbstractDependencyInjectionSpringContextTests AbstractEnterpriseBean AbstractEntityManagerFactoryBean AbstractExcelView AbstractExpressionPointcut AbstractFactoryBean AbstractFallbackTransactionAttributeSource AbstractFormController AbstractFormController AbstractFormTag AbstractGenericLabeledEnum AbstractGenericPointcutAdvisor AbstractHandlerMapping AbstractHandlerMapping AbstractHtmlElementBodyTag AbstractHtmlElementTag AbstractHtmlInputElementTag AbstractHttpInvokerRequestExecutor AbstractInterceptorDrivenBeanDefinitionDecorator AbstractInterruptibleBatchPreparedStatementSetter AbstractJasperReportsSingleFormatView AbstractJasperReportsView AbstractJExcelView AbstractJmsMessageDrivenBean AbstractJmxAttribute AbstractJndiLocatedBeanDefinitionParser AbstractJpaVendorAdapter AbstractLabeledEnum AbstractLazyCreationTargetSource AbstractLobCreatingPreparedStatementCallback AbstractLobHandler AbstractLobStreamingResultSetExtractor AbstractLobType AbstractLobType AbstractLobTypeHandler AbstractLocaleResolver AbstractMapBasedHandlerMapping AbstractMBeanInfoAssembler AbstractMessageDrivenBean AbstractMessageListenerContainer AbstractMessageListenerContainer.SharedConnectionNotInitializedException AbstractMessageSource AbstractModelAndViewTests AbstractMonitoringInterceptor AbstractMultipartHttpServletRequest AbstractOverridingClassLoader AbstractPathMapHandlerMapping AbstractPdfView AbstractPlatformTransactionManager AbstractPointcutAdvisor AbstractPoolingServerSessionFactory AbstractPoolingTargetSource AbstractPropertyAccessor AbstractPropertyBindingResult AbstractPrototypeBasedTargetSource AbstractReflectiveMBeanInfoAssembler AbstractRefreshableApplicationContext AbstractRefreshablePortletApplicationContext AbstractRefreshableTargetSource AbstractRefreshableWebApplicationContext AbstractRegexpMethodPointcut AbstractRemoteSlsbInvokerInterceptor AbstractRequestAttributes AbstractRequestAttributesScope AbstractRequestLoggingFilter AbstractResource AbstractSequenceMaxValueIncrementer AbstractSessionBean AbstractSessionFactory AbstractSessionFactoryBean AbstractSimpleBeanDefinitionParser AbstractSingleBeanDefinitionParser AbstractSingleSpringContextTests AbstractSingletonProxyFactoryBean AbstractSlsbInvokerInterceptor AbstractSpringContextTests AbstractSqlParameterSource AbstractSqlTypeValue AbstractStatefulSessionBean AbstractStatelessSessionBean AbstractTemplateView AbstractTemplateViewResolver AbstractThemeResolver AbstractTraceInterceptor AbstractTransactionalDataSourceSpringContextTests AbstractTransactionalSpringContextTests AbstractTransactionStatus AbstractUrlBasedView AbstractUrlHandlerMapping AbstractUrlMethodNameResolver AbstractUrlViewController AbstractView AbstractWizardFormController AbstractWizardFormController AbstractXmlApplicationContext AbstractXsltView AcceptHeaderLocaleResolver ActionRequestWrapper ActionServletAwareProcessor ActionSupport AdaptableJobFactory AdviceEntry Advised AdvisedSupport AdvisedSupportListener Advisor AdvisorAdapter AdvisorAdapterRegistrationManager AdvisorAdapterRegistry AdvisorChainFactory AdvisorChainFactoryUtils AdvisorComponentDefinition AdvisorEntry AfterReturningAdvice AfterReturningAdviceAdapter AfterReturningAdviceInterceptor AliasDefinition AnnotationAwareAspectJAutoProxyCreator AnnotationBeanUtils AnnotationBeanWiringInfoResolver AnnotationClassFilter AnnotationDrivenBeanDefinitionParser AnnotationJmxAttributeSource AnnotationMatchingPointcut AnnotationMethodMatcher AnnotationSessionFactoryBean AnnotationTransactionAttributeSource AnnotationUtils AntPathMatcher AopConfigException AopContext AopInvocationException AopNamespaceHandler AopNamespaceUtils AopProxy AopProxyFactory AopProxyUtils AopUtils ApplicationContext ApplicationContextAware ApplicationContextAwareProcessor ApplicationContextException ApplicationEvent ApplicationEventMulticaster ApplicationEventPublisher ApplicationEventPublisherAware ApplicationListener ApplicationObjectSupport ArgPreparedStatementSetter ArgTypePreparedStatementSetter ArgumentConvertingMethodInvoker AspectComponentDefinition AspectEntry AspectInstanceFactory AspectJAdviceParameterNameDiscoverer AspectJAdviceParameterNameDiscoverer.AmbiguousBindingException AspectJAdvisorFactory AspectJAfterAdvice AspectJAfterReturningAdvice AspectJAfterThrowingAdvice AspectJAopUtils AspectJAroundAdvice AspectJAutoProxyBeanDefinitionParser AspectJExpressionPointcut AspectJExpressionPointcutAdvisor AspectJInvocationContextExposingAdvisorAutoProxyCreator AspectJMethodBeforeAdvice AspectJPointcutAdvisor AspectJPrecedenceAwareOrderComparator AspectJPrecedenceInformation AspectJProxyFactory AspectJProxyUtils AspectJWeaverMessageHandler AspectMetadata Assert AssertThrows AttributeAccessor AttributeAccessorSupport Attributes AttributesJmxAttributeSource AttributesTransactionAttributeSource AutodetectCapableMBeanInfoAssembler AutoPopulatingList AutoPopulatingList.ElementFactory AutoPopulatingList.ElementInstantiationException Autowire AutowireCapableBeanFactory AutowireUtils AutowiringRequestProcessor AutowiringTilesRequestProcessor AxisBeanMappingServicePostProcessor BadSqlGrammarException BaseCommandController BaseCommandController BatchPreparedStatementSetter BatchSqlUpdate BeanClassLoaderAware BeanComponentDefinition BeanConfigurerSupport BeanCreationException BeanCreationNotAllowedException BeanCurrentlyInCreationException BeanDefinition BeanDefinitionBuilder BeanDefinitionDecorator BeanDefinitionDocumentReader BeanDefinitionHolder BeanDefinitionParser BeanDefinitionParserDelegate BeanDefinitionParsingException BeanDefinitionReader BeanDefinitionReaderUtils BeanDefinitionRegistry BeanDefinitionStoreException BeanDefinitionValidationException BeanDefinitionValueResolver BeanDefinitionVisitor BeanEntry BeanFactory BeanFactoryAspectInstanceFactory BeanFactoryAspectInstanceFactory BeanFactoryAware BeanFactoryDataSourceLookup BeanFactoryLocator BeanFactoryPostProcessor BeanFactoryReference BeanFactoryRefreshableTargetSource BeanFactoryUtils BeanInitializationException BeanInstantiationException BeanIsAbstractException BeanIsNotAFactoryException BeanMetadataElement BeanNameAutoProxyCreator BeanNameAware BeanNameUrlHandlerMapping BeanNameViewResolver BeanNotOfRequiredTypeException BeanPostProcessor BeanPropertyBindingResult BeanPropertySqlParameterSource BeanReference BeansDtdResolver BeansException BeanUtils BeanWiringInfo BeanWiringInfoResolver BeanWrapper BeanWrapperImpl BeforeAdvice BeforeAdviceAdapter BindErrorsTag BindException BindingErrorProcessor BindingResult BindingResultUtils BindInitializer BindStatus BindTag BindUtils BlobByteArrayType BlobByteArrayType BlobByteArrayTypeHandler BlobSerializableType BlobSerializableType BlobSerializableTypeHandler BlobStringType BlobStringType BooleanComparator BootstrapException BridgeMethodResolver BshScriptFactory BshScriptUtils BshScriptUtils.BshExecutionException BurlapClientInterceptor BurlapProxyFactoryBean BurlapServiceExporter ByteArrayMultipartFileEditor ByteArrayPropertyEditor ByteArrayResource C3P0NativeJdbcExtractor CachedIntrospectionResults CachingDestinationResolver CachingMapDecorator CallableStatementCallback CallableStatementCreator CallableStatementCreatorFactory CallbackPreferringPlatformTransactionManager CancellableFormController CannotAcquireLockException CannotCreateRecordException CannotCreateTransactionException CannotGetCciConnectionException CannotGetJdbcConnectionException CannotLoadBeanClassException CannotSerializeTransactionException CciDaoSupport CciLocalTransactionManager CciOperationNotSupportedException CciOperations CciTemplate Cglib2AopProxy Cglib2AopProxy.SerializableNoOp CglibSubclassingInstantiationStrategy ChainedExceptionListener ChainedPersistenceExceptionTranslator CharacterEditor CharacterEncodingFilter CharArrayPropertyEditor CheckboxTag ChildBeanDefinition ClassArrayEditor ClassEditor ClassFileTransformerAdapter ClassFilter ClassFilters ClassLoaderAnalyzerInterceptor ClassLoaderUtils ClassNameBeanWiringInfoResolver ClassPathResource ClassPathXmlApplicationContext ClassUtils CleanupFailureDataAccessException ClobStringType ClobStringType ClobStringTypeHandler CodebaseAwareObjectInputStream CollectionFactory CollectionUtils ColumnMapRowMapper CommAreaRecord CommonsAttributes CommonsDbcpNativeJdbcExtractor CommonsFileUploadSupport CommonsFileUploadSupport.MultipartParsingResult CommonsHttpInvokerRequestExecutor CommonsLogFactoryBean CommonsLoggingLogSystem CommonsLoggingSessionLog CommonsLoggingSessionLog904 CommonsMultipartFile CommonsMultipartResolver CommonsPathMapHandlerMapping CommonsPoolServerSessionFactory CommonsPoolTargetSource CommonsPortletMultipartResolver CommonsRequestLoggingFilter ComparableComparator ComponentControllerSupport ComponentDefinition ComposablePointcut CompositeTransactionAttributeSource CompoundComparator ConcurrencyFailureException ConcurrencyThrottleInterceptor ConcurrencyThrottleSupport ConcurrentTaskExecutor ConditionalTestCase ConfigBeanDefinitionParser Configurable ConfigurableApplicationContext ConfigurableBeanFactory ConfigurableJasperReportsView ConfigurableListableBeanFactory ConfigurableMimeFileTypeMap ConfigurablePortletApplicationContext ConfigurablePropertyAccessor ConfigurableWebApplicationContext ConnectionCallback ConnectionCallback ConnectionFactoryUtils ConnectionFactoryUtils ConnectionFactoryUtils.ResourceFactory ConnectionHandle ConnectionHolder ConnectionHolder ConnectionProxy ConnectionSpecConnectionFactoryAdapter ConnectorServerFactoryBean ConsoleListener ConstantException Constants ConstructorArgumentEntry ConstructorArgumentValues ConstructorArgumentValues.ValueHolder ConstructorResolver ContextBeanFactoryReference ContextClosedEvent ContextJndiBeanFactoryLocator ContextLoader ContextLoaderListener ContextLoaderPlugIn ContextLoaderServlet ContextRefreshedEvent ContextSingletonBeanFactoryLocator ControlFlow ControlFlowFactory ControlFlowFactory.Jdk13ControlFlow ControlFlowFactory.Jdk14ControlFlow ControlFlowPointcut Controller Controller ControllerClassNameHandlerMapping Conventions CookieGenerator CookieLocaleResolver CookieThemeResolver CosMailSenderImpl CosMultipartHttpServletRequest CosMultipartResolver CronTriggerBean CustomBooleanEditor CustomCollectionEditor CustomDateEditor CustomEditorConfigurer CustomizableTraceInterceptor CustomNumberEditor CustomScopeConfigurer CustomSQLErrorCodesTranslation DaoSupport DataAccessException DataAccessResourceFailureException DataAccessUtils Database DatabaseMetaDataCallback DatabaseStartupValidator DataBinder DataFieldMaxValueIncrementer DataIntegrityViolationException DataRetrievalFailureException DataSourceLookup DataSourceLookupFailureException DataSourceTransactionManager DataSourceUtils DB2SequenceMaxValueIncrementer DeadlockLoserDataAccessException DebugInterceptor DeclareParentsAdvisor DecoratingNavigationHandler DefaultAdvisorAdapterRegistry DefaultAdvisorAutoProxyCreator DefaultAopProxyFactory DefaultBeanDefinitionDocumentReader DefaultBindingErrorProcessor DefaultDocumentLoader DefaultIntroductionAdvisor DefaultJdoDialect DefaultJpaDialect DefaultListableBeanFactory DefaultLobHandler DefaultLocatorFactory DefaultMessageCodesResolver DefaultMessageListenerContainer DefaultMessageListenerContainer102 DefaultMessageSourceResolvable DefaultMultipartActionRequest DefaultMultipartHttpServletRequest DefaultNamespaceHandlerResolver DefaultPersistenceUnitManager DefaultPointcutAdvisor DefaultPropertiesPersister DefaultRemoteInvocationExecutor DefaultRemoteInvocationFactory DefaultRequestToViewNameTranslator DefaultResourceLoader DefaultScopedObject DefaultSingletonBeanRegistry DefaultToStringStyler DefaultTransactionAttribute DefaultTransactionDefinition DefaultTransactionStatus DefaultValueStyler DelegatePerTargetObjectDelegatingIntroductionInterceptor DelegatingActionProxy DelegatingActionUtils DelegatingConnectionFactory DelegatingDataSource DelegatingEntityResolver DelegatingFilterProxy DelegatingIntroductionInterceptor DelegatingJob DelegatingMessageSource DelegatingNavigationHandlerProxy DelegatingPhaseListenerMulticaster DelegatingRequestProcessor DelegatingServletInputStream DelegatingServletOutputStream DelegatingThemeSource DelegatingTilesRequestProcessor DelegatingTimerListener DelegatingTimerTask DelegatingTransactionAttribute DelegatingVariableResolver DelegatingWork DescriptiveResource DestinationResolutionException DestinationResolver DestructionAwareBeanPostProcessor DirectFieldAccessor DirectFieldBindingResult DispatchActionSupport DispatcherPortlet DispatcherServlet DispatcherServletWebRequest DisposableBean DisposableBeanAdapter DisposableSqlTypeValue DocumentLoader DomUtils DriverManagerDataSource DynamicDestinationResolver DynamicIntroductionAdvice DynamicMethodMatcher DynamicMethodMatcherPointcut DynamicMethodMatcherPointcutAdvisor EhCacheFactoryBean EhCacheManagerFactoryBean EisOperation EjbAccessException EmptyReaderEventListener EmptyResultDataAccessException EmptyTargetSource EncodedResource EntityManagerFactoryAccessor EntityManagerFactoryInfo EntityManagerFactoryPlus EntityManagerFactoryPlusOperations EntityManagerFactoryUtils EntityManagerHolder EntityManagerPlus EntityManagerPlusOperations ErrorCoded Errors ErrorsTag EscapeBodyTag EscapedErrors EventPublicationInterceptor ExpectedLookupTemplate ExposeBeanNameAdvisors ExposeInvocationInterceptor ExpressionEvaluationUtils ExpressionPointcut ExtendedEntityManagerCreator FacesContextUtils FactoryBean FactoryBeanNotInitializedException FailFastProblemReporter FatalBeanException FieldError FieldRetrievingFactoryBean FileCopyUtils FileEditor FileSystemResource FileSystemResourceLoader FileSystemXmlApplicationContext FilterDefinitionFactoryBean FixedLocaleResolver FixedThemeResolver FormTag FrameworkPortlet FrameworkServlet FreeMarkerConfig FreeMarkerConfigurationFactory FreeMarkerConfigurationFactoryBean FreeMarkerConfigurer FreeMarkerTemplateUtils FreeMarkerView FreeMarkerViewResolver GeneratedKeyHolder GenericApplicationContext GenericBeanFactoryAccessor GenericCollectionTypeResolver GenericFilterBean GenericPortletBean GenericWebApplicationContext GlobalAdvisorAdapterRegistry GroovyScriptFactory HandlerAdapter HandlerAdapter HandlerExceptionResolver HandlerExceptionResolver HandlerExecutionChain HandlerExecutionChain HandlerInterceptor HandlerInterceptor HandlerInterceptorAdapter HandlerInterceptorAdapter HandlerMapping HandlerMapping HashMapCachingAdvisorChainFactory Hessian1SkeletonInvoker Hessian2SkeletonInvoker HessianClientInterceptor HessianProxyFactoryBean HessianServiceExporter HessianSkeletonInvoker HeuristicCompletionException HibernateAccessor HibernateAccessor HibernateCallback HibernateCallback HibernateDaoSupport HibernateDaoSupport HibernateInterceptor HibernateInterceptor HibernateJdbcException HibernateJdbcException HibernateJpaDialect HibernateJpaVendorAdapter HibernateObjectRetrievalFailureException HibernateObjectRetrievalFailureException HibernateOperations HibernateOperations HibernateOptimisticLockingFailureException HibernateOptimisticLockingFailureException HibernateQueryException HibernateQueryException HibernateSystemException HibernateSystemException HibernateTemplate HibernateTemplate HibernateTransactionManager HibernateTransactionManager HiddenInputTag HierarchicalBeanFactory HierarchicalMessageSource HierarchicalThemeSource HotSwappableTargetSource HsqlMaxValueIncrementer HtmlCharacterEntityDecoder HtmlCharacterEntityReferences HtmlEscapeTag HtmlEscapingAwareTag HtmlUtils HttpInvokerClientConfiguration HttpInvokerClientInterceptor HttpInvokerProxyFactoryBean HttpInvokerRequestExecutor HttpInvokerServiceExporter HttpRequestHandler HttpRequestHandlerAdapter HttpRequestHandlerServlet HttpRequestMethodNotSupportedException HttpServletBean HttpSessionMutexListener HttpSessionRequiredException IdentityNamingStrategy IdTransferringMergeEventListener IllegalStateException IllegalTransactionStateException ImportDefinition IncorrectResultSetColumnCountException IncorrectResultSizeDataAccessException IncorrectUpdateSemanticsDataAccessException InitializingBean InputStreamEditor InputStreamResource InputStreamSource InputTag InstantiationAwareBeanPostProcessor InstantiationAwareBeanPostProcessorAdapter InstantiationModelAwarePointcutAdvisor InstantiationModelAwarePointcutAdvisorImpl InstantiationStrategy InstrumentationLoadTimeWeaver InstrumentationSavingAgent InteractionCallback InterceptorAndDynamicMethodMatcher InterfaceBasedMBeanInfoAssembler InternalPathMethodNameResolver InternalResourceView InternalResourceViewResolver InternetAddressEditor InterruptibleBatchPreparedStatementSetter IntroductionAdvisor IntroductionAwareMethodMatcher IntroductionInfo IntroductionInfoSupport IntroductionInterceptor IntrospectorCleanupListener InvalidClientIDException InvalidDataAccessApiUsageException InvalidDataAccessResourceUsageException InvalidDestinationException InvalidInvocationException InvalidIsolationLevelException InvalidMetadataException InvalidPropertyException InvalidResultSetAccessException InvalidResultSetAccessException InvalidSelectorException InvalidTimeoutException InvertibleComparator InvocationFailureException Isolation JamonPerformanceMonitorInterceptor JasperReportsCsvView JasperReportsHtmlView JasperReportsMultiFormatView JasperReportsPdfView JasperReportsUtils JasperReportsViewResolver JasperReportsXlsView JavaMailSender JavaMailSenderImpl JavaScriptUtils JaxRpcPortClientInterceptor JaxRpcPortProxyFactoryBean JaxRpcServicePostProcessor JBossNativeJdbcExtractor JdbcAccessor JdbcBeanDefinitionReader JdbcDaoSupport JdbcOperations JdbcTemplate JdbcTransactionObjectSupport JdbcUpdateAffectedIncorrectNumberOfRowsException JdbcUtils JdkDynamicAopProxy JdkRegexpMethodPointcut JdkVersion JdoAccessor JdoCallback JdoDaoSupport JdoDialect JdoInterceptor JdoObjectRetrievalFailureException JdoOperations JdoOptimisticLockingFailureException JdoResourceFailureException JdoSystemException JdoTemplate JdoTransactionManager JdoUsageException JeeNamespaceHandler JmsAccessor JmsDestinationAccessor JmsException JmsGatewaySupport JmsInvokerClientInterceptor JmsInvokerProxyFactoryBean JmsInvokerServiceExporter JmsOperations JmsResourceHolder JmsSecurityException JmsTemplate JmsTemplate102 JmsTransactionManager JmsTransactionManager102 JmsUtils JmxAttributeSource JmxException JmxMetadataUtils JmxUtils JndiAccessor JndiCallback JndiDataSourceLookup JndiDestinationResolver JndiLocatorSupport JndiLookupBeanDefinitionParser JndiObjectFactoryBean JndiObjectLocator JndiObjectTargetSource JndiRmiClientInterceptor JndiRmiProxyFactoryBean JndiRmiServiceExporter JndiTemplate JndiTemplateEditor JobDetailAwareTrigger JobDetailBean JotmFactoryBean JpaAccessor JpaCallback JpaDaoSupport JpaDialect JpaInterceptor JpaObjectRetrievalFailureException JpaOperations JpaOptimisticLockingFailureException JpaSystemException JpaTemplate JpaTransactionManager JpaVendorAdapter JRubyScriptFactory JRubyScriptUtils JspAwareRequestContext JstlUtils JstlView JtaAfterCompletionSynchronization JtaLobCreatorSynchronization JtaTransactionManager JtaTransactionObject KeyHolder KeyNamingStrategy LabeledEnum LabeledEnumResolver LabelTag LangNamespaceHandler LastModified LazyConnectionDataSourceProxy LazyInitTargetSource LazyInitTargetSourceCreator LazySingletonMetadataAwareAspectInstanceFactoryDecorator LetterCodedLabeledEnum Lifecycle ListableBeanFactory ListenerExecutionFailedException ListenerSessionManager ListFactoryBean LoadTimeWeaver LobCreator LobCreatorUtils LobHandler LobRetrievalFailureException LocalConnectionFactoryBean LocalContainerEntityManagerFactoryBean LocalDataSourceConnectionProvider LocalDataSourceConnectionProvider LocalDataSourceJobStore LocaleChangeInterceptor LocaleContext LocaleContextHolder LocaleEditor LocalEntityManagerFactoryBean LocaleResolver LocalizedResourceHelper LocalJaxRpcServiceFactory LocalJaxRpcServiceFactoryBean LocalPersistenceManagerFactoryBean LocalSessionFactory LocalSessionFactoryBean LocalSessionFactoryBean LocalSessionFactoryBean LocalSlsbInvokerInterceptor LocalStatelessSessionBeanDefinitionParser LocalStatelessSessionProxyFactoryBean LocalTaskExecutorThreadPool LocalTransactionManagerLookup LocalTransactionManagerLookup LocalVariableTableParameterNameDiscoverer Location Log4jConfigListener Log4jConfigServlet Log4jConfigurer Log4jNestedDiagnosticContextFilter Log4jWebConfigurer LookupDispatchActionSupport LookupOverride MailAuthenticationException MailException MailMessage MailParseException MailPreparationException MailSender MailSendException ManagedAttribute ManagedAttribute ManagedList ManagedMap ManagedNotification ManagedNotification ManagedNotifications ManagedOperation ManagedOperation ManagedOperationParameter ManagedOperationParameter ManagedOperationParameters ManagedProperties ManagedResource ManagedResource ManagedSet MapBindingResult MapDataSourceLookup MapFactoryBean MappingCommAreaOperation MappingDispatchActionSupport MappingRecordOperation MappingSqlQuery MappingSqlQueryWithParameters MapSqlParameterSource MatchAlwaysTransactionAttributeSource MaxUploadSizeExceededException MBeanClientInterceptor MBeanExporter MBeanExporterListener MBeanExportException MBeanExportOperations MBeanInfoAssembler MBeanInfoRetrievalException MBeanProxyFactoryBean MBeanRegistrationSupport MBeanServerConnectionFactoryBean MBeanServerFactoryBean MBeanServerNotFoundException Mergeable MessageCodesResolver MessageConversionException MessageConverter MessageCreator MessageEOFException MessageFormatException MessageListenerAdapter MessageListenerAdapter102 MessageNotReadableException MessageNotWriteableException MessagePostProcessor MessageSource MessageSourceAccessor MessageSourceAware MessageSourceResolvable MessageSourceResourceBundle MessageTag MetaDataAccessException MetadataAwareAspectInstanceFactory MetadataMBeanInfoAssembler MetadataNamingStrategy MethodBeforeAdvice MethodBeforeAdviceInterceptor MethodExclusionMBeanInfoAssembler MethodInvocationException MethodInvocationProceedingJoinPoint MethodInvoker MethodInvokingFactoryBean MethodInvokingJobDetailFactoryBean MethodInvokingJobDetailFactoryBean.MethodInvokingJob MethodInvokingJobDetailFactoryBean.StatefulMethodInvokingJob MethodInvokingRunnable MethodInvokingTimerTaskFactoryBean MethodLocatingFactoryBean MethodMapTransactionAttributeSource MethodMatcher MethodMatchers MethodNameBasedMBeanInfoAssembler MethodNameResolver MethodOverride MethodOverrides MethodParameter MethodReplacer MimeMailMessage MimeMessageHelper MimeMessagePreparator MockActionRequest MockActionResponse MockExpressionEvaluator MockFilterConfig MockHttpServletRequest MockHttpServletResponse MockHttpSession MockMultipartActionRequest MockMultipartFile MockMultipartHttpServletRequest MockPageContext MockPortalContext MockPortletConfig MockPortletContext MockPortletPreferences MockPortletRequest MockPortletRequestDispatcher MockPortletResponse MockPortletSession MockPortletURL MockRenderRequest MockRenderResponse MockRequestDispatcher MockServletConfig MockServletContext ModelAndView ModelAndView ModelAndViewDefiningException ModelAndViewDefiningException ModelMap ModelMBeanNotificationPublisher MultiActionController MultipartActionRequest MultipartException MultipartFile MultipartFilter MultipartHttpServletRequest MultipartResolver MutablePersistenceUnitInfo MutablePropertyValues MutableSortDefinition MySQLMaxValueIncrementer NamedBean NamedParameterJdbcDaoSupport NamedParameterJdbcOperations NamedParameterJdbcTemplate NamedParameterUtils NameMatchMethodPointcut NameMatchMethodPointcutAdvisor NameMatchTransactionAttributeSource NamespaceHandler NamespaceHandlerResolver NamespaceHandlerSupport NativeJdbcExtractor NativeJdbcExtractorAdapter NestedCheckedException NestedExceptionUtils NestedIOException NestedPathTag NestedRuntimeException NestedServletException NestedTransactionNotSupportedException NoRollbackRuleAttribute NoSuchBeanDefinitionException NoSuchMessageException NoSuchRequestHandlingMethodException NotAnAtAspectException NotificationListenerBean NotificationPublisher NotificationPublisherAware NoTransactionException NotReadablePropertyException NotSupportedRecordFactory NotWritablePropertyException NullSafeComparator NullSourceExtractor NullValueInNestedPathException NumberUtils ObjectError ObjectFactory ObjectFactoryCreatingFactoryBean ObjectNameManager ObjectNamingStrategy ObjectOptimisticLockingFailureException ObjectRetrievalFailureException ObjectUtils OC4JClassPreprocessorAdapter OC4JLoadTimeWeaver OncePerRequestFilter OpenEntityManagerInViewFilter OpenEntityManagerInViewInterceptor OpenPersistenceManagerInViewFilter OpenPersistenceManagerInViewInterceptor OpenSessionInViewFilter OpenSessionInViewFilter OpenSessionInViewInterceptor OpenSessionInViewInterceptor OptimisticLockingFailureException OptionsTag OptionTag OptionWriter OracleLobHandler OracleLobHandler.LobCallback OracleSequenceMaxValueIncrementer Order OrderComparator Ordered PagedListHolder PagedListSourceProvider ParameterDisposer ParameterHandlerMapping ParameterizableViewController ParameterizableViewController ParameterizedRowMapper ParameterMapper ParameterMappingInterceptor ParameterMethodNameResolver ParameterNameDiscoverer ParsedSql ParserContext ParseState ParseState.Entry PassThroughSourceExtractor PasswordInputTag PathMap PathMatcher PathMatchingResourcePatternResolver PatternMatchUtils PerformanceMonitorInterceptor PerformanceMonitorListener Perl5RegexpMethodPointcut PermissionDeniedDataAccessException PersistenceAnnotationBeanPostProcessor PersistenceExceptionTranslationAdvisor PersistenceExceptionTranslationInterceptor PersistenceExceptionTranslationPostProcessor PersistenceExceptionTranslator PersistenceManagerFactoryUtils PersistenceManagerHolder PersistenceUnitManager PersistenceUnitPostProcessor PersistenceUnitReader PessimisticLockingFailureException PlatformTransactionManager PluggableSchemaResolver Pointcut PointcutAdvisor PointcutComponentDefinition PointcutEntry Pointcuts PoolingConfig PortletApplicationContextUtils PortletApplicationObjectSupport PortletConfigAware PortletContentGenerator PortletContextAware PortletContextAwareProcessor PortletContextResource PortletContextResourceLoader PortletContextResourcePatternResolver PortletModeHandlerMapping PortletModeNameViewController PortletModeParameterHandlerMapping PortletMultipartResolver PortletRequestAttributes PortletRequestBindingException PortletRequestDataBinder PortletRequestHandledEvent PortletRequestParameterPropertyValues PortletRequestUtils PortletRequestWrapper PortletSessionRequiredException PortletUtils PortletWebRequest PortletWrappingController PostgreSQLSequenceMaxValueIncrementer PreferencesPlaceholderConfigurer PreparedStatementCallback PreparedStatementCreator PreparedStatementCreatorFactory PreparedStatementSetter PrioritizedParameterNameDiscoverer Problem ProblemReporter ProducerCallback Propagation PropertiesBeanDefinitionReader PropertiesEditor PropertiesFactoryBean PropertiesLoaderSupport PropertiesLoaderUtils PropertiesMethodNameResolver PropertiesPersister PropertyAccessException PropertyAccessor PropertyAccessorUtils PropertyBatchUpdateException PropertyComparator PropertyEditorRegistrar PropertyEditorRegistry PropertyEditorRegistrySupport PropertyEntry PropertyMatches PropertyOverrideConfigurer PropertyPathFactoryBean PropertyPlaceholderConfigurer PropertyResourceConfigurer PropertyValue PropertyValues PropertyValuesEditor PrototypeAspectInstanceFactory PrototypeTargetSource ProxyConfig ProxyFactory ProxyFactoryBean ProxyMethodInvocation QuartzJobBean QuickTargetSourceCreator RadioButtonTag RdbmsOperation ReaderContext ReaderEventListener RecordCreator RecordExtractor RecordTypeNotSupportedException RedirectView ReflectionUtils ReflectionUtils.FieldCallback ReflectionUtils.FieldFilter ReflectionUtils.MethodCallback ReflectionUtils.MethodFilter ReflectiveAspectJAdvisorFactory ReflectiveAspectJAdvisorFactory.SyntheticInstantiationAdvisor ReflectiveLoadTimeWeaver ReflectiveMethodInvocation ReflectiveVisitorHelper Refreshable RefreshablePagedListHolder RefreshableScriptTargetSource RegexpMethodPointcutAdvisor ReloadableResourceBundleMessageSource RemoteAccessException RemoteAccessor RemoteConnectFailureException RemoteExporter RemoteInvocation RemoteInvocationBasedAccessor RemoteInvocationBasedExporter RemoteInvocationExecutor RemoteInvocationFactory RemoteInvocationResult RemoteInvocationTraceInterceptor RemoteInvocationUtils RemoteLookupFailureException RemoteProxyFailureException RemoteStatelessSessionBeanDefinitionParser ReplaceOverride Repository RequestAttributes RequestContext RequestContextAwareTag RequestContextFilter RequestContextHolder RequestContextListener RequestContextUtils RequestHandledEvent RequestScope RequestToViewNameTranslator RequestUtils Required RequiredAnnotationBeanPostProcessor Resource ResourceAllocationException ResourceArrayPropertyEditor ResourceBundleEditor ResourceBundleMessageSource ResourceBundleThemeSource ResourceBundleViewResolver ResourceEditor ResourceEditorRegistrar ResourceEntityResolver ResourceFactoryBean ResourceHolderSupport ResourceJobSchedulingDataProcessor ResourceLoader ResourceLoaderAware ResourceMapFactoryBean ResourceOverridingShadowingClassLoader ResourcePatternResolver ResourcePatternUtils ResourceScriptSource ResourceServlet ResourceUtils ResponseTimeMonitor ResponseTimeMonitorImpl ResultSetExtractor ResultSetSupportingSqlParameter ResultSetWrappingSqlRowSet ResultSetWrappingSqlRowSetMetaData RmiBasedExporter RmiClientInterceptor RmiClientInterceptorUtils RmiInvocationHandler RmiInvocationWrapper RmiProxyFactoryBean RmiRegistryFactoryBean RmiServiceExporter RollbackRuleAttribute RootBeanDefinition RootClassFilter RowCallbackHandler RowCountCallbackHandler RowMapper RowMapperResultSetExtractor RuleBasedTransactionAttribute RuntimeBeanNameReference RuntimeBeanReference RuntimeTestWalker SavepointManager ScheduledExecutorFactoryBean ScheduledExecutorTask ScheduledTimerListener ScheduledTimerTask SchedulerContextAware SchedulerFactoryBean SchedulingAwareRunnable SchedulingException SchedulingTaskExecutor Scope ScopedBeanInterceptor ScopedObject ScopedProxyBeanDefinitionDecorator ScopedProxyFactoryBean ScriptBeanDefinitionParser ScriptCompilationException ScriptFactory ScriptFactoryPostProcessor ScriptSource SelectedValueComparator SelectTag SelfNaming ServerSessionFactory ServerSessionFactory ServerSessionMessageListenerContainer ServerSessionMessageListenerContainer102 ServiceLocatorFactoryBean ServletConfigAware ServletContextAttributeExporter ServletContextAttributeFactoryBean ServletContextAware ServletContextAwareProcessor ServletContextFactoryBean ServletContextParameterFactoryBean ServletContextPropertyPlaceholderConfigurer ServletContextRequestLoggingFilter ServletContextResource ServletContextResourceLoader ServletContextResourcePatternResolver ServletEndpointSupport ServletForwardingController ServletRequestAttributes ServletRequestBindingException ServletRequestDataBinder ServletRequestHandledEvent ServletRequestParameterPropertyValues ServletRequestUtils ServletWebRequest ServletWrappingController SessionAwareMessageListener SessionBrokerSessionFactory SessionCallback SessionFactory SessionFactoryUtils SessionFactoryUtils SessionFactoryUtils SessionHolder SessionHolder SessionHolder SessionLocaleResolver SessionReadCallback SessionScope SessionThemeResolver SetFactoryBean ShadowingClassLoader SharedEntityManagerBean SharedEntityManagerCreator ShortCodedLabeledEnum SimpleApplicationEventMulticaster SimpleAsyncTaskExecutor SimpleConnectionHandle SimpleControllerHandlerAdapter SimpleControllerHandlerAdapter SimpleFormController SimpleFormController SimpleHttpInvokerRequestExecutor SimpleInstantiationStrategy SimpleInstrumentableClassLoader SimpleJdbcDaoSupport SimpleJdbcOperations SimpleJdbcTemplate SimpleLoadTimeWeaver SimpleLocaleContext SimpleMailMessage SimpleMappingExceptionResolver SimpleMappingExceptionResolver SimpleMessageConverter SimpleMessageConverter102 SimpleMessageListenerContainer SimpleMessageListenerContainer102 SimpleNamingContext SimpleNamingContextBuilder SimpleNativeJdbcExtractor SimplePortletHandlerAdapter SimplePortletPostProcessor SimplePropertyNamespaceHandler SimpleRecordOperation SimpleReflectiveMBeanInfoAssembler SimpleRemoteSlsbInvokerInterceptor SimpleRemoteStatelessSessionProxyFactoryBean SimpleSaxErrorHandler SimpleServerSessionFactory SimpleServletHandlerAdapter SimpleServletPostProcessor SimpleTheme SimpleThreadPoolTaskExecutor SimpleThrowawayClassLoader SimpleTraceInterceptor SimpleTransactionStatus SimpleTransformErrorListener SimpleTriggerBean SimpleTypeConverter SimpleUrlHandlerMapping SingleColumnRowMapper SingleConnectionDataSource SingleConnectionFactory SingleConnectionFactory SingleConnectionFactory102 SingleDataSourceLookup SingleSessionFactory SingletonAspectInstanceFactory SingletonBeanFactoryLocator SingletonBeanRegistry SingletonMetadataAwareAspectInstanceFactory SingletonTargetSource SmartDataSource SmartMimeMessage SmartSessionBean SmartTransactionObject SortDefinition SourceExtractor SpringBeanJobFactory SpringBindingActionForm SpringConfiguredBeanDefinitionParser SpringJtaSynchronizationAdapter SpringLobCreatorSynchronization SpringModelMBean SpringPersistenceUnitInfo SpringResourceLoader SpringSessionContext SpringSessionSynchronization SpringSessionSynchronization SpringTemplateLoader SpringVersion SqlCall SQLErrorCodes SQLErrorCodesFactory SQLErrorCodeSQLExceptionTranslator SQLExceptionTranslator SqlFunction SqlInOutParameter SqlLobValue SqlMapClientCallback SqlMapClientDaoSupport SqlMapClientFactoryBean SqlMapClientOperations SqlMapClientTemplate SqlOperation SqlOutParameter SqlParameter SqlParameterSource SqlProvider SqlQuery SqlReturnResultSet SqlReturnType SqlRowSet SqlRowSetMetaData SqlRowSetResultSetExtractor SQLStateSQLExceptionTranslator SqlTypeValue SqlUpdate SQLWarningException StatementCallback StatementCreatorUtils StaticApplicationContext StaticLabeledEnum StaticLabeledEnumResolver StaticListableBeanFactory StaticMessageSource StaticMethodMatcher StaticMethodMatcherPointcut StaticMethodMatcherPointcutAdvisor StaticPortletApplicationContext StaticScriptSource StaticWebApplicationContext StopWatch StopWatch.TaskInfo StoredProcedure StringArrayPropertyEditor StringCodedLabeledEnum StringMultipartFileEditor StringTrimmerEditor StringUtils StylerUtils SynchedLocalTransactionFailedException SyncTaskExecutor SystemPropertyUtils TagIdGenerator TagUtils TagWriter TargetSource TargetSourceCreator TaskExecutor TextareaTag Theme ThemeChangeInterceptor ThemeResolver ThemeSource ThemeTag ThreadLocalTargetSource ThreadLocalTargetSourceStats ThreadPoolTaskExecutor ThrowawayController ThrowawayControllerHandlerAdapter ThrowsAdvice ThrowsAdviceAdapter ThrowsAdviceInterceptor TilesConfigurer TilesJstlView TilesView TimerFactoryBean TimerManagerFactoryBean TimerTaskExecutor TomcatInstrumentableClassLoader TopLinkAccessor TopLinkCallback TopLinkDaoSupport TopLinkInterceptor TopLinkJdbcException TopLinkJpaDialect TopLinkJpaVendorAdapter TopLinkOperations TopLinkOptimisticLockingFailureException TopLinkQueryException TopLinkSystemException TopLinkTemplate TopLinkTransactionManager ToStringCreator ToStringStyler Transactional TransactionAspectSupport TransactionAttribute TransactionAttributeEditor TransactionAttributeSource TransactionAttributeSourceAdvisor TransactionAttributeSourceEditor TransactionAwareConnectionFactoryProxy TransactionAwareConnectionFactoryProxy TransactionAwareDataSourceConnectionProvider TransactionAwareDataSourceConnectionProvider TransactionAwareDataSourceProxy TransactionAwarePersistenceManagerFactoryProxy TransactionAwareSessionAdapter TransactionCallback TransactionCallbackWithoutResult TransactionDefinition TransactionException TransactionInProgressException TransactionInterceptor TransactionProxyFactoryBean TransactionRolledBackException TransactionStatus TransactionSuspensionNotSupportedException TransactionSynchronization TransactionSynchronizationAdapter TransactionSynchronizationManager TransactionSynchronizationUtils TransactionSystemException TransactionTemplate TransactionTimedOutException TransactionUsageException TransformerUtils TransformTag TrueClassFilter TrueMethodMatcher TruePointcut TxAdviceBeanDefinitionParser TxNamespaceHandler TxNamespaceUtils TypeConverter TypeConverterDelegate TypeDefinitionBean TypedStringValue TypeMismatchDataAccessException TypeMismatchException TypeMismatchNamingException TypePatternClassFilter UiApplicationContextUtils UnableToRegisterMBeanException UnableToSendNotificationException UncategorizedDataAccessException UncategorizedJmsException UncategorizedSQLException UnexpectedRollbackException UnionPointcut UnitOfWorkCallback UnknownAdviceTypeException UnsatisfiedDependencyException UpdatableSqlQuery UrlBasedRemoteAccessor UrlBasedViewResolver URLEditor UrlFilenameViewController UrlPathHelper UrlResource UserCredentialsConnectionFactoryAdapter UserCredentialsDataSourceAdapter UserRoleAuthorizationInterceptor UserRoleAuthorizationInterceptor UserTransactionAdapter UtilNamespaceHandler ValidationUtils Validator ValueFormatter ValueStyler VelocityConfig VelocityConfigurer VelocityEngineFactory VelocityEngineFactoryBean VelocityEngineUtils VelocityLayoutView VelocityLayoutViewResolver VelocityToolboxView VelocityView VelocityViewResolver View ViewRendererServlet ViewResolver WeakReferenceMonitor WeakReferenceMonitor.ReleaseListener WeavingTransformer WebApplicationContext WebApplicationContextUtils WebApplicationContextVariableResolver WebApplicationObjectSupport WebAppRootListener WebContentGenerator WebContentInterceptor WebDataBinder WebLogicJndiMBeanServerFactoryBean WebLogicJtaTransactionManager WebLogicMBeanServerFactoryBean WebLogicNativeJdbcExtractor WebLogicServerTransactionManagerFactoryBean WebRequest WebRequestHandlerInterceptorAdapter WebRequestHandlerInterceptorAdapter WebRequestInterceptor WebSphereNativeJdbcExtractor WebSphereTransactionManagerFactoryBean WebUtils WorkManagerTaskExecutor XAPoolNativeJdbcExtractor XmlBeanDefinitionParser XmlBeanDefinitionReader XmlBeanFactory XmlPortletApplicationContext XmlReaderContext XmlValidationModeDetector XmlViewResolver XmlWebApplicationContext XsltView XsltViewResolver

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值