gitextract_1jka44ep/ ├── .gitignore ├── LICENSE ├── README.md ├── index.html ├── pom.xml ├── spring-annotation/ │ ├── pom.xml │ ├── spring-annotation-autowired/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AutowiredApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-annotation-bean/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanApplication.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ └── config/ │ │ └── MyConfiguration.java │ ├── spring-annotation-componentScan/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ComponentScanApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── repository/ │ │ │ └── UserRepository.java │ │ ├── service/ │ │ │ ├── AdminService.java │ │ │ └── UserService.java │ │ └── special/ │ │ └── SpecialComponent.java │ ├── spring-annotation-conditional/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── bean/ │ │ │ ├── ConditionBeanApplication.java │ │ │ ├── condition/ │ │ │ │ └── BeanPropertyCondition.java │ │ │ ├── config/ │ │ │ │ └── MyBeanConfiguration.java │ │ │ └── entity/ │ │ │ ├── User1.java │ │ │ └── User2.java │ │ ├── configuration/ │ │ │ ├── ConditionConfigurationApplication.java │ │ │ ├── condition/ │ │ │ │ └── ConfigPropertyCondition.java │ │ │ ├── config/ │ │ │ │ └── MyConfigConfiguration.java │ │ │ └── entity/ │ │ │ ├── User3.java │ │ │ └── User4.java │ │ └── custom/ │ │ ├── ConditionCustomApplication.java │ │ ├── annotation/ │ │ │ └── ConditionalOnCustomActive.java │ │ ├── condition/ │ │ │ └── CustomActiveCondition.java │ │ ├── config/ │ │ │ └── MyCustomConfiguration.java │ │ └── entity/ │ │ ├── User5.java │ │ └── User6.java │ ├── spring-annotation-configuration/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConfigurationApplication.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ └── config/ │ │ └── MyConfiguration.java │ ├── spring-annotation-dependsOn/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── DependsOnApplication.java │ │ ├── bean/ │ │ │ ├── BeanA.java │ │ │ ├── BeanB.java │ │ │ └── BeanC.java │ │ └── config/ │ │ └── MyConfiguration.java │ ├── spring-annotation-import/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ImportApplication.java │ │ ├── bean/ │ │ │ ├── MyBean.java │ │ │ ├── MyBeanA.java │ │ │ ├── MyBeanB.java │ │ │ └── MyBeanC.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ ├── MyDeferredImportSelector.java │ │ ├── MyImportBeanDefinitionRegistrar.java │ │ └── MyImportSelector.java │ ├── spring-annotation-lazy/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── LazyApplication.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-annotation-profile/ │ │ ├── README.md │ │ └── pom.xml │ ├── spring-annotation-propertySource/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── PropertySourceApplication.java │ │ │ └── config/ │ │ │ └── MyConfiguration.java │ │ └── resources/ │ │ └── my-application.yml │ └── spring-annotation-value/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ValueApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ └── MyService.java │ └── resources/ │ └── application.properties ├── spring-aop/ │ ├── pom.xml │ ├── spring-aop-advice/ │ │ ├── README.md │ │ └── pom.xml │ ├── spring-aop-advice-afterReturningAdvice/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AfterReturningAdviceDemo.java │ │ ├── MyAfterReturningAdvice.java │ │ └── MyService.java │ ├── spring-aop-advice-introductionInterceptor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── IntroductionInterceptorDemo.java │ │ ├── MyMonitoringCapable.java │ │ ├── MyMonitoringIntroductionAdvice.java │ │ └── MyService.java │ ├── spring-aop-advice-methodBeforeAdvice/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MethodBeforeAdviceDemo.java │ │ ├── MyMethodBeforeAdvice.java │ │ └── MyService.java │ ├── spring-aop-advice-methodInterceptor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MethodInterceptorDemo.java │ │ ├── MyMethodInterceptor.java │ │ └── MyService.java │ ├── spring-aop-advice-throwsAdvice/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MyService.java │ │ ├── MyThrowsAdvice.java │ │ └── ThrowsAdviceDemo.java │ ├── spring-aop-advised/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AdvisedDemo.java │ │ ├── MyService.java │ │ └── MyServiceImpl.java │ ├── spring-aop-advisor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AdvisorDemo.java │ │ ├── MyAdvice.java │ │ ├── MyCustomAdvisor.java │ │ ├── MyCustomAnnotation.java │ │ └── MyService.java │ ├── spring-aop-advisorAdapter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AdvisorAdapterDemo.java │ │ ├── MyNullReturningAdvice.java │ │ ├── MyService.java │ │ ├── NullReturningAdvice.java │ │ ├── NullReturningAdviceAdapter.java │ │ └── NullReturningAdviceInterceptor.java │ ├── spring-aop-advisorAdapterRegistry/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AdvisorAdapterRegistryDemo.java │ │ └── MyMethodBeforeAdvice.java │ ├── spring-aop-advisorChainFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AdvisorChainFactoryDemo.java │ │ ├── MyAfterReturningAdvice.java │ │ ├── MyMethodBeforeAdvice.java │ │ └── MyService.java │ ├── spring-aop-annotationAwareAspectJAutoProxyCreator/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AnnotationAwareAspectJAutoProxyCreatorDemo.java │ │ ├── AppConfig.java │ │ ├── MyAspect.java │ │ └── MyService.java │ ├── spring-aop-aopContext/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AopContextDemo.java │ │ ├── MyAnnotation.java │ │ ├── MyMethodBeforeAdvice.java │ │ └── MyService.java │ ├── spring-aop-aopProxy/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AopProxyDemo.java │ │ ├── MyMethodInterceptor.java │ │ ├── MyService.java │ │ └── MyServiceImpl.java │ ├── spring-aop-aopProxyFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AopProxyFactoryDemo.java │ │ ├── MyService.java │ │ └── MyServiceImpl.java │ ├── spring-aop-aspectInstanceFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AspectInstanceFactoryDemo.java │ │ └── MyAspect.java │ ├── spring-aop-aspectJAdvisorFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AspectJAdvisorFactoryDemo.java │ │ ├── MyAspect.java │ │ └── MyService.java │ ├── spring-aop-beanFactoryAdvisorRetrievalHelper/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AppConfig.java │ │ ├── BeanFactoryAdvisorRetrievalHelperDemo.java │ │ ├── MyAdvice.java │ │ ├── MyAdvisor.java │ │ └── MyService.java │ ├── spring-aop-beanFactoryAspectJAdvisorsBuilder/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AppConfig.java │ │ ├── BeanFactoryAspectJAdvisorsBuilderDemo.java │ │ ├── MyAspect.java │ │ └── MyService.java │ ├── spring-aop-cglibProxy/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── CglibProxyDemo.java │ │ ├── MyMethodInterceptor.java │ │ ├── MyService.java │ │ └── MyServiceImpl.java │ ├── spring-aop-classFilter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ClassFilterDemo.java │ │ ├── MyClassAnnotation.java │ │ ├── MyService.java │ │ └── MySubService.java │ ├── spring-aop-enableAspectJAutoProxy/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AppConfig.java │ │ ├── EnableAspectJAutoProxyDemo.java │ │ ├── MyAspect.java │ │ └── MyService.java │ ├── spring-aop-enableLoadTimeWeaving/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── AppConfig.java │ │ │ ├── EnableLoadTimeWeavingDemo.java │ │ │ ├── MyLTWAspect.java │ │ │ └── MyService.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── aop.xml │ ├── spring-aop-exposeInvocationInterceptor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AppConfig.java │ │ ├── ExposeInvocationInterceptorDemo.java │ │ ├── LogUtil.java │ │ ├── MyMethodInterceptor.java │ │ └── MyService.java │ ├── spring-aop-jdkProxy/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── JdkProxyDemo.java │ │ ├── MyInvocationHandler.java │ │ ├── MyService.java │ │ └── MyServiceImpl.java │ ├── spring-aop-metadataAwareAspectInstanceFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MetadataAwareAspectInstanceFactoryDemo.java │ │ └── MyAspect.java │ ├── spring-aop-methodMatcher/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MethodMatcherDemo.java │ │ ├── MyMethodAnnotation.java │ │ └── MyService.java │ ├── spring-aop-pointcut/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MyClassAnnotation.java │ │ ├── MyCustomAdvice.java │ │ ├── MyCustomPointcut.java │ │ ├── MyMethodAnnotation.java │ │ ├── MyService.java │ │ └── PointcutDemo.java │ ├── spring-aop-proxyFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MyService.java │ │ └── ProxyFactoryDemo.java │ ├── spring-aop-proxyMethodInvocation/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MyInvocationHandler.java │ │ ├── MyMethodInterceptor.java │ │ ├── MyReflectiveMethodInvocation.java │ │ ├── MyService.java │ │ ├── MyServiceImpl.java │ │ └── ProxyMethodInvocationDemo.java │ ├── spring-aop-targetSource/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConnectionPoolTargetSource.java │ │ ├── MyConnection.java │ │ └── TargetSourceDemo.java │ └── spring-aop-targetSourceCreator/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── AppConfig.java │ ├── ConnectionPoolTargetSource.java │ ├── MyConnection.java │ ├── MyTargetSourceCreator.java │ ├── SetMyTargetSourceCreator.java │ └── TargetSourceCreatorDemo.java ├── spring-aware/ │ ├── pom.xml │ ├── spring-aware-applicationContextAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ApplicationContextAwareApplication.java │ │ └── config/ │ │ ├── MyApplicationContextAware.java │ │ └── MyConfiguration.java │ ├── spring-aware-applicationEventPublisherAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ApplicationEventPublisherAwareApplication.java │ │ ├── config/ │ │ │ ├── MyApplicationEventPublisherAware.java │ │ │ └── MyConfiguration.java │ │ └── event/ │ │ ├── MyEvent.java │ │ └── MyEventListener.java │ ├── spring-aware-applicationStartupAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ApplicationStartupAwareApplication.java │ │ └── config/ │ │ ├── MyApplicationStartupAware.java │ │ └── MyConfiguration.java │ ├── spring-aware-beanClassLoaderAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanClassLoaderAwareApplication.java │ │ ├── config/ │ │ │ ├── MyBeanClassLoaderAware.java │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ ├── UserService.java │ │ └── UserServiceImpl.java │ ├── spring-aware-beanFactoryAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanFactoryAwareApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── service/ │ │ │ └── UserService.java │ │ └── validate/ │ │ ├── ComplexUserValidator.java │ │ ├── SimpleUserValidator.java │ │ └── UserValidator.java │ ├── spring-aware-beanNameAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanNameAwareApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ ├── MyAliPayService.java │ │ ├── MyBasePayService.java │ │ └── MyWeChatPayService.java │ ├── spring-aware-embeddedValueResolverAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── EmbeddedValueResolverAwareApplication.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ └── MyEmbeddedValueResolverAware.java │ ├── spring-aware-environmentAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── EnvironmentAwareApplication.java │ │ │ └── config/ │ │ │ ├── MyConfiguration.java │ │ │ └── MyEnvironmentAware.java │ │ └── resources/ │ │ └── application.properties │ ├── spring-aware-importAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ImportAwareApplication.java │ │ ├── annotation/ │ │ │ └── EnableXcs.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ └── MyImportAware.java │ ├── spring-aware-messageSourceAware/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── MessageSourceAwareApplication.java │ │ │ └── config/ │ │ │ ├── MyConfiguration.java │ │ │ └── MyMessageSourceAware.java │ │ └── resources/ │ │ └── i18n/ │ │ ├── messages_en.properties │ │ └── messages_zh_CN.properties │ └── spring-aware-resourceLoaderAware/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ResourceLoaderAwareApplication.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ └── MyResourceLoaderAware.java │ └── resources/ │ └── xcs.txt ├── spring-beans/ │ ├── pom.xml │ ├── spring-bean-annotatedBeanDefinitionReader/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AnnotatedBeanDefinitionReaderDemo.java │ │ └── bean/ │ │ └── MyBean.java │ ├── spring-bean-beanDefinition/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanDefinitionDemo.java │ │ └── bean/ │ │ └── MyBean.java │ ├── spring-bean-beanDefinitionHolder/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanDefinitionHolderDemo.java │ │ └── bean/ │ │ └── MyBean.java │ ├── spring-bean-beanDefinitionRegistry/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanDefinitionRegistryDemo.java │ │ └── bean/ │ │ └── MyBean.java │ ├── spring-bean-classPathBeanDefinitionScanner/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ClassPathBeanDefinitionScannerDemo.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ ├── repository/ │ │ │ └── MyRepository.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-bean-groovyBeanDefinitionReader/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── GroovyBeanDefinitionReaderDemo.java │ │ │ └── service/ │ │ │ └── MyService.java │ │ └── resources/ │ │ └── my-beans.groovy │ ├── spring-bean-propertiesBeanDefinitionReader/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── PropertiesBeanDefinitionReaderDemo.java │ │ │ └── bean/ │ │ │ └── MyBean.java │ │ └── resources/ │ │ └── bean-definitions.properties │ └── spring-bean-xmlBeanDefinitionReader/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── XmlBeanDefinitionReaderDemo.java │ │ └── bean/ │ │ └── MyBean.java │ └── resources/ │ └── beans.xml ├── spring-context/ │ ├── pom.xml │ ├── spring-context-annotationConfigApplicationContext/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AnnotationConfigApplicationContextDemo.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ ├── repository/ │ │ │ └── MyRepository.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-context-classPathXmlApplicationContext/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── ClassPathXmlApplicationContextDemo.java │ │ │ └── bean/ │ │ │ └── MyBean.java │ │ └── resources/ │ │ └── beans.xml │ └── spring-context-genericApplicationContext/ │ └── pom.xml ├── spring-core/ │ ├── pom.xml │ ├── spring-core-destroyBean/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── DestroyBeanApplication.java │ │ └── bean/ │ │ └── MyBean.java │ ├── spring-core-getBean/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── GetBeanApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ ├── MyServiceA.java │ │ └── MyServiceB.java │ ├── spring-core-registerBeanDefinition/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── RegisterBeanDefinitionApplication.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ ├── repository/ │ │ │ └── MyRepository.java │ │ └── service/ │ │ └── MyService.java │ └── spring-core-resolveDependency/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ResolveDependencyApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ ├── MyServiceA.java │ │ └── MyServiceB.java │ └── resources/ │ └── application.properties ├── spring-dataops/ │ ├── pom.xml │ ├── spring-dataops-conditionalConverter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConditionalConverterDemo.java │ │ └── converter/ │ │ └── StringToIntegerConditionalConverter.java │ ├── spring-dataops-conversionService/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── ConversionServiceDemo.java │ ├── spring-dataops-converter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConverterDemo.java │ │ └── converter/ │ │ ├── StringToBooleanConverter.java │ │ └── StringToLocalDateConverter.java │ ├── spring-dataops-converterFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── CharacterToNumberFactoryDemo.java │ │ └── converter/ │ │ └── StringToNumberConverterFactory.java │ ├── spring-dataops-genericConverter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── GenericConverterDemo.java │ │ ├── annotation/ │ │ │ └── DateFormat.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ └── convert/ │ │ └── AnnotatedStringToDateConverter.java │ ├── spring-dataops-parser/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ParserDemo.java │ │ └── parser/ │ │ └── CurrencyParser.java │ ├── spring-dataops-printer/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── PrinterDemo.java │ │ └── printer/ │ │ └── CurrencyPrinter.java │ ├── spring-dataops-propertyEditor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MyCustomDateEditor.java │ │ ├── PropertyEditorDemo.java │ │ └── bean/ │ │ └── MyBean.java │ └── spring-dataops-validator/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── Person.java │ ├── PersonValidator.java │ └── ValidatorDemo.java ├── spring-env/ │ ├── pom.xml │ ├── spring-env-configurableEnvironment/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── ConfigurableEnvironmentDemo.java │ ├── spring-env-configurablePropertyResolver/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── ConfigurablePropertyResolverDemo.java │ ├── spring-env-environment/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── EnvironmentDemo.java │ ├── spring-env-propertyResolver/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── SimplePropertyResolverDemo.java │ ├── spring-env-propertySource/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ └── PropertySourceDemo.java │ │ └── resources/ │ │ └── application.properties │ └── spring-env-propertySources/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── PropertySourcesDemo.java ├── spring-factory/ │ ├── pom.xml │ ├── spring-factory-autowireCapableBeanFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AutowireCapableBeanFactoryDemo.java │ │ ├── config/ │ │ │ ├── MyBeanPostProcessor.java │ │ │ └── MyConfiguration.java │ │ ├── repository/ │ │ │ └── MyRepository.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-factory-beanFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── BeanFactoryDemo.java │ │ │ └── bean/ │ │ │ └── MyBean.java │ │ └── resources/ │ │ └── beans.xml │ ├── spring-factory-configurableBeanFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConfigurableBeanFactoryDemo.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ ├── MyService.java │ │ └── impl/ │ │ └── MyServiceImpl.java │ ├── spring-factory-configurableListableBeanFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConfigurableListableBeanFactoryDemo.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ └── service/ │ │ ├── MyService.java │ │ └── impl/ │ │ └── MyServiceImpl.java │ ├── spring-factory-hierarchicalBeanFactory/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── HierarchicalBeanFactoryDemo.java │ │ └── bean/ │ │ └── MyBean.java │ └── spring-factory-listableBeanFactory/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── ListableBeanFactoryDemo.java │ ├── config/ │ │ └── MyConfiguration.java │ └── service/ │ └── MyService.java ├── spring-interface/ │ ├── pom.xml │ ├── spring-interface-beanDefinitionRegistryPostProcessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanDefinitionRegistryPostProcessorApplication.java │ │ └── config/ │ │ ├── MyBeanDefinitionRegistryPostProcessor.java │ │ ├── MyConfiguration.java │ │ └── MySimpleBean.java │ ├── spring-interface-beanFactoryPostProcessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanFactoryPostProcessorApplication.java │ │ └── config/ │ │ ├── MyBeanFactoryPostProcessor.java │ │ ├── MyConfiguration.java │ │ └── MySimpleBean.java │ ├── spring-interface-beanPostProcessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanPostProcessorApplication.java │ │ ├── config/ │ │ │ ├── MyBeanPostProcessor.java │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ ├── MyService.java │ │ └── MyServiceImpl.java │ ├── spring-interface-destructionAwareBeanPostProcessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── DestructionAwareBeanPostProcessorApplication.java │ │ ├── config/ │ │ │ ├── MyConfiguration.java │ │ │ └── MyDestructionAwareBeanPostProcessor.java │ │ └── service/ │ │ ├── ConnectionService.java │ │ └── ConnectionServiceImpl.java │ ├── spring-interface-disposableBean/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── DisposableBeanApplication.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ └── MyDisposableBean.java │ ├── spring-interface-initializingBean/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── InitializingBeanApplication.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ └── MyInitializingBean.java │ ├── spring-interface-instantiationAwareBeanPostProcessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── InstantiationAwareBeanPostProcessorApplication.java │ │ ├── config/ │ │ │ ├── MyConfiguration.java │ │ │ └── MyInstantiationAwareBeanPostProcessor.java │ │ └── service/ │ │ ├── DataBase.java │ │ └── DataBaseImpl.java │ ├── spring-interface-mergedBeanDefinitionPostProcessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MergedBeanDefinitionPostProcessorApplication.java │ │ ├── annotation/ │ │ │ └── MyValue.java │ │ ├── bean/ │ │ │ └── MyBean.java │ │ └── config/ │ │ ├── MyConfiguration.java │ │ └── MyMergedBeanDefinitionPostProcessor.java │ ├── spring-interface-smartInitializingSingleton/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── SmartInitializingSingletonApplication.java │ │ ├── config/ │ │ │ ├── MyConfiguration.java │ │ │ └── MySmartInitializingSingleton.java │ │ └── service/ │ │ └── MyService.java │ └── spring-interface-smartInstantiationAwareBeanPostProcessor/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── SmartInstantiationAwareBeanPostProcessorApplication.java │ ├── annotation/ │ │ └── MyAutowired.java │ ├── config/ │ │ ├── MyConfiguration.java │ │ └── MySmartInstantiationAwareBeanPostProcessor.java │ └── service/ │ ├── MyService.java │ ├── MyServiceA.java │ └── MyServiceB.java ├── spring-jsr/ │ ├── pom.xml │ ├── spring-jsr250-postConstruct/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── PostConstructApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-jsr250-preDestroy/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── PreDestroyApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-jsr250-resource/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ResourceApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-jsr330-inject/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── InjectApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-jsr330-named/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── NamedApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ └── service/ │ │ ├── MyService.java │ │ ├── MyServiceA.java │ │ └── MyServiceB.java │ ├── spring-jsr330-provider/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ProviderApplication.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MyController.java │ │ └── service/ │ │ └── MyService.java │ ├── spring-jsr330-qualifier/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── QualifierApplication.java │ │ ├── annotation/ │ │ │ ├── Email.java │ │ │ └── SMS.java │ │ ├── config/ │ │ │ └── MyConfiguration.java │ │ ├── controller/ │ │ │ └── MessageController.java │ │ └── service/ │ │ ├── MessageService.java │ │ └── impl/ │ │ ├── EmailServiceImpl.java │ │ └── SMSServiceImpl.java │ ├── spring-jsr330-scope/ │ │ ├── README.md │ │ └── pom.xml │ └── spring-jsr330-singleton/ │ ├── README.md │ └── pom.xml ├── spring-metadata/ │ ├── pom.xml │ ├── spring-metadata-annotationMetadata/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── AnnotationMetadataDemoByASM.java │ │ ├── AnnotationMetadataDemoByReflection.java │ │ └── bean/ │ │ └── MyBean.java │ ├── spring-metadata-condition/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConditionDemo.java │ │ ├── bean/ │ │ │ ├── MyBeanA.java │ │ │ └── MyBeanB.java │ │ └── condition/ │ │ └── MyOnClassCondition.java │ ├── spring-metadata-metadataReader/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MetadataReaderDemo.java │ │ ├── annotation/ │ │ │ ├── MyAnnotation.java │ │ │ └── MyClassAnnotation.java │ │ └── bean/ │ │ ├── MyAbstract.java │ │ └── MyBean.java │ └── spring-metadata-typeFilter/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── TypeFilterDemo.java │ ├── annotation/ │ │ └── MyAnnotation.java │ ├── component/ │ │ └── MyComponent.java │ ├── controller/ │ │ └── MyController.java │ ├── repository/ │ │ └── MyRepository.java │ └── service/ │ └── MyService.java ├── spring-mvc/ │ └── pom.xml ├── spring-resources/ │ ├── pom.xml │ ├── spring-resource/ │ │ ├── README.md │ │ ├── myfile.txt │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── ByteArrayResourceDemo.java │ │ │ ├── ClassPathResourceDemo.java │ │ │ ├── FileSystemResourceDemo.java │ │ │ ├── InputStreamResourceDemo.java │ │ │ └── UrlResourceDemo.java │ │ └── resources/ │ │ └── application.properties │ ├── spring-resource-documentLoader/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── DocumentLoaderDemo.java │ │ │ └── bean/ │ │ │ └── MyBean.java │ │ └── resources/ │ │ └── sample.xml │ ├── spring-resource-resourceLoader/ │ │ ├── README.md │ │ ├── myfile1.txt │ │ ├── myfile2.txt │ │ ├── myfile3.txt │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── xcs/ │ │ │ └── spring/ │ │ │ ├── DefaultResourceLoaderDemo.java │ │ │ └── PathMatchingResourcePatternResolverDemo.java │ │ └── resources/ │ │ ├── application.properties │ │ └── bootstrap.properties │ └── spring-resource-resourcePatternResolver/ │ ├── README.md │ ├── myfile1.txt │ ├── myfile2.txt │ ├── myfile3.txt │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── ResourcePatternResolverDemo.java │ └── resources/ │ ├── application.properties │ └── bootstrap.properties ├── spring-spel/ │ ├── pom.xml │ ├── spring-spel-beanResolver/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── BeanResolverDemo.java │ │ └── MyBean.java │ ├── spring-spel-constructorResolver/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── ConstructorResolverDemo.java │ │ └── MyBean.java │ ├── spring-spel-evaluationContext/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── EvaluationContextDemo.java │ ├── spring-spel-expression/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── ExpressionDemo.java │ ├── spring-spel-expressionParser/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── ExpressionParserDemo.java │ ├── spring-spel-methodResolver/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MethodResolverDemo.java │ │ └── MyBean.java │ ├── spring-spel-operatorOverloader/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ ├── CustomOperatorOverloader.java │ │ ├── MyBean.java │ │ └── OperatorOverloaderDemo.java │ ├── spring-spel-propertyAccessor/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ ├── MyBean.java │ │ └── PropertyAccessorDemo.java │ ├── spring-spel-typeComparator/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── TypeComparatorDemo.java │ ├── spring-spel-typeConverter/ │ │ ├── README.md │ │ ├── pom.xml │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── xcs/ │ │ └── spring/ │ │ └── TypeConverterDemo.java │ └── spring-spel-typeLocator/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── TypeLocatorDemo.java └── spring-transaction/ ├── pom.xml ├── spring-transaction-connection/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── ConnectionDemo.java ├── spring-transaction-dataSource/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── DataSourceDemo.java ├── spring-transaction-driverManager/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── DriverManagerDemo.java ├── spring-transaction-enableTransactionManagement/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── AppConfig.java │ ├── EnableTransactionManagementDemo.java │ ├── ScoresService.java │ └── ScoresServiceImpl.java ├── spring-transaction-jdbcTemplate/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── JdbcTemplateDemo.java │ └── Scores.java ├── spring-transaction-platformTransactionManager/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── PlatformTransactionManagerDemo.java ├── spring-transaction-springTransactionAnnotationParser/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── ScoresService.java │ ├── ScoresServiceImpl.java │ └── SpringTransactionAnnotationParserDemo.java ├── spring-transaction-transactionAttributeSource/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── ScoresService.java │ ├── ScoresServiceImpl.java │ └── TransactionAttributeSourceDemo.java ├── spring-transaction-transactionDefinition/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── TransactionDefinitionDemo.java ├── spring-transaction-transactionInterceptor/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ ├── ScoresService.java │ ├── ScoresServiceImpl.java │ └── TransactionInterceptorDemo.java ├── spring-transaction-transactionTemplate/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── xcs/ │ └── spring/ │ └── TransactionTemplateDemo.java └── sql/ └── test.sql