针对不推荐使用SpringsXmlBeanFactory和不推荐使用氟化凝胶的年龄这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展FAQ(37):org.springframework.be
针对不推荐使用Springs XmlBeanFactory和不推荐使用氟化凝胶的年龄这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展FAQ(37): org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML docume、org.springframework.beans.factory.HierarchicalBeanFactory的实例源码、org.springframework.beans.factory.xml.XmlBeanDefin、org.springframework.beans.factory.xml.XmlBeanDefinitionReader的实例源码等相关知识,希望可以帮助到你。
本文目录一览:- 不推荐使用Springs XmlBeanFactory(不推荐使用氟化凝胶的年龄)
- FAQ(37): org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML docume
- org.springframework.beans.factory.HierarchicalBeanFactory的实例源码
- org.springframework.beans.factory.xml.XmlBeanDefin
- org.springframework.beans.factory.xml.XmlBeanDefinitionReader的实例源码
不推荐使用Springs XmlBeanFactory(不推荐使用氟化凝胶的年龄)
我尝试学习Spring。我正在追踪这个网站http://www.roseindia.net/spring/spring3/spring-3-hello-
world.shtml
我尝试了一个例子。我正在使用类似下面的内容,但是在这里显示:
XmlBeanFactory类型已弃用
我必须用什么替代呢?
public class SpringHelloWorldTest { public static void main(String[] args) { XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("SpringHelloWorld.xml")); Spring3HelloWorld myBean = (Spring3HelloWorld)beanFactory.getBean("Spring3HelloWorldBean"); myBean.sayHello(); }}
答案1
小编典典ApplicationContext是BeanFactory的子接口。您可以使用这种方式
public class SpringHelloWorldTest { public static void main(String[] args) { ApplicationContext context= new ClassPathXmlApplicationContext("SpringHelloWorld.xml"); Spring3HelloWorld myBean= (Spring3HelloWorld) context.getBean("Spring3HelloWorldBean"); myBean.sayHello(); }}
FAQ(37): org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML docume
场景:Spring,使用IoC注解,将依赖属性注入。
看Log:
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:251)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.spring.aop.UserServiceImplTest.test(UserServiceImplTest.java:14)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 "[xX][mM][lL]" 的处理指令目标。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:428)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
... 37 more
解决:定位Bug为spring配置文件的错误,是一个标点符号出错,
原:
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.2.xsd"
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"> >
改:
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
复制黏贴要注意了!
org.springframework.beans.factory.HierarchicalBeanFactory的实例源码
public void testAppContextClassHierarchy() { Class<?>[] clazz = ClassUtils.getClassHierarchy(OsgiBundleXmlApplicationContext.class,ClassUtils.ClassSet.ALL_CLASSES); //Closeable.class,Class<?>[] expected = new Class<?>[] { OsgiBundleXmlApplicationContext.class,AbstractDelegatedExecutionApplicationContext.class,AbstractOsgiBundleApplicationContext.class,AbstractRefreshableApplicationContext.class,AbstractApplicationContext.class,DefaultResourceLoader.class,ResourceLoader.class,AutoCloseable.class,DelegatedExecutionOsgiBundleApplicationContext.class,ConfigurableOsgiBundleApplicationContext.class,ConfigurableApplicationContext.class,ApplicationContext.class,Lifecycle.class,Closeable.class,EnvironmentCapable.class,Listablebeanfactory.class,Hierarchicalbeanfactory.class,ApplicationEventPublisher.class,ResourcePatternResolver.class,MessageSource.class,beanfactory.class,disposableBean.class }; assertTrue(compareArrays(expected,clazz)); }
private BeanDeFinition findParentDeFinition(String parentName,BeanDeFinitionRegistry registry) { if (registry != null) { if (registry.containsBeanDeFinition(parentName)) { return registry.getBeanDeFinition(parentName); } else if (registry instanceof Hierarchicalbeanfactory) { // Try to get parent deFinition from the parent beanfactory. This Could return null beanfactory parentbeanfactory = ((Hierarchicalbeanfactory)registry).getParentbeanfactory(); return findParentDeFinition(parentName,(BeanDeFinitionRegistry)parentbeanfactory); } } // we've exhausted all possibilities return null; }
/** * Finds a parent bean deFinition in the hierarchy of contexts. * * @param parentName any * @param registry any * @return any */ protected BeanDeFinition findParentDeFinition(String parentName,BeanDeFinitionRegistry registry) { if (registry != null) { if (registry.containsBeanDeFinition(parentName)) { return registry.getBeanDeFinition(parentName); } else if (registry instanceof Hierarchicalbeanfactory) { // Try to get parent deFinition from the parent beanfactory. This Could return null beanfactory parentbeanfactory = ((Hierarchicalbeanfactory) registry).getParentbeanfactory(); return findParentDeFinition(parentName,(BeanDeFinitionRegistry) parentbeanfactory); } } return null; }
public static Map<String,Object> beansOfAnnotationIncludingAncestors(Listablebeanfactory lbf,Class<? extends Annotation> annotationType) throws BeansException { Assert.notNull(lbf,"Listablebeanfactory must not be null"); Map<String,Object> result = new LinkedHashMap<String,Object>(); result.putAll(lbf.getBeansWithAnnotation(annotationType)); if (lbf instanceof Hierarchicalbeanfactory) { Hierarchicalbeanfactory hbf = (Hierarchicalbeanfactory) lbf; if (hbf.getParentbeanfactory() instanceof Listablebeanfactory) { Map<String,Object> parentResult = beansOfAnnotationIncludingAncestors( (Listablebeanfactory) hbf.getParentbeanfactory(),annotationType); for (Map.Entry<String,Object> entry : parentResult.entrySet()) { String beanName = entry.getKey(); if (!result.containsKey(beanName) && !hbf.containsLocalBean(beanName)) { result.put(beanName,entry.getValue()); } } } } return result; }
public void testAppContextClassHierarchy() { Class[] clazz = ClassUtils.getClassHierarchy(OsgiBundleXmlApplicationContext.class,ClassUtils.INCLUDE_ALL_CLASSES); Class[] expected = new Class[] { OsgiBundleXmlApplicationContext.class,disposableBean.class,DefaultResourceLoader.class }; String msg = "Class: "; for (int i=0;i<clazz.length;i++) { msg += clazz[i].getSimpleName() + " "; } assertTrue(msg,compareArrays(expected,clazz)); }
private void collectBeanNamesForType(Set<String> result,Listablebeanfactory beanfactory,Class<?> type,boolean considerHierarchy) { result.addAll(BeanTypeRegistry.get(beanfactory).getNamesForType(type)); if (considerHierarchy && beanfactory instanceof Hierarchicalbeanfactory) { beanfactory parent = ((Hierarchicalbeanfactory) beanfactory).getParentbeanfactory(); if (parent instanceof Listablebeanfactory) { collectBeanNamesForType(result,(Listablebeanfactory) parent,type,considerHierarchy); } } }
private void collectBeanNamesForAnnotation(Set<String> names,Class<? extends Annotation> annotationType,boolean considerHierarchy) { names.addAll(BeanTypeRegistry.get(beanfactory).getNamesForAnnotation(annotationType)); if (considerHierarchy) { beanfactory parent = ((Hierarchicalbeanfactory) beanfactory).getParentbeanfactory(); if (parent instanceof Listablebeanfactory) { collectBeanNamesForAnnotation(names,annotationType,considerHierarchy); } } }
public void testInterfacesHierarchy() { //Closeable.class,Class<?>[] clazz = ClassUtils.getAllInterfaces(DelegatedExecutionOsgiBundleApplicationContext.class); Class<?>[] expected = { ConfigurableOsgiBundleApplicationContext.class,AutoCloseable.class }; assertTrue(compareArrays(expected,clazz)); }
private void collectBeanNamesForType(Set<String> result,boolean considerHierarchy) { result.addAll(BeanTypeRegistry.get(beanfactory).getNamesForType(type)); if (considerHierarchy && beanfactory instanceof Hierarchicalbeanfactory) { beanfactory parent = ((Hierarchicalbeanfactory) beanfactory) .getParentbeanfactory(); if (parent instanceof Listablebeanfactory) { collectBeanNamesForType(result,considerHierarchy); } } }
private void collectBeanNamesForAnnotation(Set<String> names,boolean considerHierarchy) { names.addAll( BeanTypeRegistry.get(beanfactory).getNamesForAnnotation(annotationType)); if (considerHierarchy) { beanfactory parent = ((Hierarchicalbeanfactory) beanfactory) .getParentbeanfactory(); if (parent instanceof Listablebeanfactory) { collectBeanNamesForAnnotation(names,considerHierarchy); } } }
@postconstruct public void registerjsonComponents() { beanfactory beanfactory = this.beanfactory; while (beanfactory != null) { if (beanfactory instanceof Listablebeanfactory) { addJsonBeans((Listablebeanfactory) beanfactory); } beanfactory = (beanfactory instanceof Hierarchicalbeanfactory ? ((Hierarchicalbeanfactory) beanfactory).getParentbeanfactory() : null); } }
private void collectBeanNamesForType(Set<String> result,considerHierarchy); } } }
@postconstruct public void registerjsonComponents() { beanfactory beanfactory = this.beanfactory; while (beanfactory != null) { if (beanfactory instanceof Listablebeanfactory) { addJsonBeans((Listablebeanfactory) beanfactory); } beanfactory = (beanfactory instanceof Hierarchicalbeanfactory ? ((Hierarchicalbeanfactory) beanfactory).getParentbeanfactory() : null); } }
private void collectBeanNamesForType(Set<String> result,considerHierarchy); } } }
private void collectBeanNamesForType(Set<String> result,considerHierarchy); } } }
public void testInterfacesHierarchy() { Class[] clazz = ClassUtils.getAllInterfaces(DelegatedExecutionOsgiBundleApplicationContext.class); Class[] expected = { ConfigurableOsgiBundleApplicationContext.class,AutoCloseable.class }; String msg = "Class: "; for (int i=0;i<clazz.length;i++) { msg += clazz[i].getSimpleName() + " "; } assertTrue(msg,clazz)); }
@Bean public Filter springSecurityFilterChain(Hierarchicalbeanfactory beanfactory) { beanfactory parent = beanfactory.getParentbeanfactory(); return parent.getBean("springSecurityFilterChain",Filter.class); }
@Bean public Filter springSecurityFilterChain(Hierarchicalbeanfactory beanfactory) { beanfactory parent = beanfactory.getParentbeanfactory(); return parent.getBean("springSecurityFilterChain",Filter.class); }
@Bean public Filter springSecurityFilterChain(Hierarchicalbeanfactory beanfactory) { beanfactory parent = beanfactory.getParentbeanfactory(); return parent.getBean("springSecurityFilterChain",Filter.class); }
org.springframework.beans.factory.xml.XmlBeanDefin
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 23 in XML document from ServletContext resource [/WEB-INF/config/spring/spring-servlet.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/mvc/spring-mvc.xsd; lineNumber: 23; columnNumber: 20; cos-all-limited.1.2: An ''''all'''' model group must appear in a particle with ''{''min occurs''}''=''{''max occurs''}''=1, and that particle must be part of a pair which constitutes the ''{''content type''}'' of a complex type definition.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
主要是这个解析错误:
查了很多资料并没有找到答案,我就猜想是不是tomcat本身的问题,就尝试用MyEclipse自带的tomcat启动,结果没有报错。这里肯定了,是我的tomcat出问题。
我比较我使用的tomcat和myEclipse里的tomcat,最终发现,我使用的tomcat里面多了三个jar包;移除这三个jar包,问题解决。
ojdbc14.jar;
log4j-1.2.17.jar;
xercesImpl-2.0.2.jar;
我猜想是xercesImpl-2.0.2.jar;导致的,具体原因,由于比较晚并没有深究,有空研究
org.springframework.beans.factory.xml.XmlBeanDefinitionReader的实例源码
@Before public void setUp() throws Exception { final ProtectionDomain empty = new ProtectionDomain(null,new Permissions()); provider = new SecurityContextProvider() { private final AccessControlContext acc = new AccessControlContext( new ProtectionDomain[] { empty }); @Override public AccessControlContext getAccessControlContext() { return acc; } }; DefaultResourceLoader drl = new DefaultResourceLoader(); Resource config = drl .getResource("/org/springframework/beans/factory/support/security/callbacks.xml"); beanfactory = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(beanfactory).loadBeanDeFinitions(config); beanfactory.setSecurityContextProvider(provider); }
protected void setUp() throws Exception { BundleContext bundleContext = new MockBundleContext() { // service reference already registered public ServiceReference[] getServiceReferences(String clazz,String filter) throws InvalidSyntaxException { return new ServiceReference[0]; } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); appContext.setClassLoader(getClass().getClassLoader()); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); // reader.setEventListener(this.listener); reader.loadBeanDeFinitions(new ClassPathResource("osgiReferencenestedBeans.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { BundleContext bundleContext = new MockBundleContext() { // service reference already registered public ServiceReference[] getServiceReferences(String clazz,String filter) throws InvalidSyntaxException { return new ServiceReference[] { new MockServiceReference(new String[] { Serializable.class.getName() }) }; } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); appContext.setClassLoader(getClass().getClassLoader()); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); reader.loadBeanDeFinitions(new ClassPathResource("osgiDefaults.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); applicationContext = new GenericApplicationContext(); applicationContext.setClassLoader(getClass().getClassLoader()); applicationContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); applicationContext.addbeanfactoryPostProcessor(new beanfactoryPostProcessor() { public void postProcessbeanfactory(ConfigurableListablebeanfactory beanfactory) throws BeansException { beanfactory.addpropertyeditorRegistrar(new BlueprintEditorRegistrar()); } }); reader = new XmlBeanDeFinitionReader(applicationContext); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(getConfig(),getClass())); applicationContext.refresh(); blueprintContainer = new SpringBlueprintContainer(applicationContext); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); context.addbeanfactoryPostProcessor(new beanfactoryPostProcessor() { public void postProcessbeanfactory(ConfigurableListablebeanfactory beanfactory) throws BeansException { beanfactory.addpropertyeditorRegistrar(new BlueprintEditorRegistrar()); } }); reader = new XmlBeanDeFinitionReader(context); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); blueprintContainer = new SpringBlueprintContainer(context); }
protected void setUp() throws Exception { BundleContext bundleContext = new MockBundleContext() { // service reference already registered public ServiceReference[] getServiceReferences(String clazz,String filter) throws InvalidSyntaxException { return new ServiceReference[] { new MockServiceReference(new String[] { Cloneable.class.getName() }) }; } }; context = new GenericApplicationContext(); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); context.setClassLoader(getClass().getClassLoader()); reader = new XmlBeanDeFinitionReader(context); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); SpringBlueprintConverterService converterService = new SpringBlueprintConverterService(null,context.getbeanfactory()); converterService.add(new GenericConverter()); context.getbeanfactory().setConversionService(converterService); reader = new XmlBeanDeFinitionReader(context); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); blueprintContainer = new SpringBlueprintContainer(context); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); context.addbeanfactoryPostProcessor(new beanfactoryPostProcessor() { public void postProcessbeanfactory(ConfigurableListablebeanfactory beanfactory) throws BeansException { beanfactory.addpropertyeditorRegistrar(new BlueprintEditorRegistrar()); beanfactory.registerSingleton("blueprintContainer",new SpringBlueprintContainer(context)); } }); reader = new XmlBeanDeFinitionReader(context); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); blueprintContainer = new SpringBlueprintContainer(context); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); context.getbeanfactory().setConversionService( new SpringBlueprintConverterService(null,context.getbeanfactory())); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); reader = new XmlBeanDeFinitionReader(context); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); blueprintContainer = new SpringBlueprintContainer(context); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); context.addbeanfactoryPostProcessor(new beanfactoryPostProcessor() { public void postProcessbeanfactory(ConfigurableListablebeanfactory beanfactory) throws BeansException { beanfactory.addpropertyeditorRegistrar(new BlueprintEditorRegistrar()); } }); reader = new XmlBeanDeFinitionReader(context); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); blueprintContainer = new SpringBlueprintContainer(context); }
/** * Loads the bean deFinitions via an XmlBeanDeFinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDeFinitionReader * @see #initBeanDeFinitionReader * @see #loadBeanDeFinitions */ @Override protected void loadBeanDeFinitions(DefaultListablebeanfactory beanfactory) throws BeansException,IOException { // Create a new XmlBeanDeFinitionReader for the given beanfactory. XmlBeanDeFinitionReader beanDeFinitionReader = new XmlBeanDeFinitionReader(beanfactory); // Configure the bean deFinition reader with this context's // resource loading environment. beanDeFinitionReader.setEnvironment(getEnvironment()); beanDeFinitionReader.setResourceLoader(this); beanDeFinitionReader.setEntityResolver(new ResourceEntityResolver(this)); // Allow a subclass to provide custom initialization of the reader,// then proceed with actually loading the bean deFinitions. initBeanDeFinitionReader(beanDeFinitionReader); loadBeanDeFinitions(beanDeFinitionReader); }
/** * Loads the bean deFinitions via an XmlBeanDeFinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDeFinitionReader * @see #initBeanDeFinitionReader * @see #loadBeanDeFinitions */ @Override protected void loadBeanDeFinitions(DefaultListablebeanfactory beanfactory) throws BeansException,IOException { // Create a new XmlBeanDeFinitionReader for the given beanfactory. XmlBeanDeFinitionReader beanDeFinitionReader = new XmlBeanDeFinitionReader(beanfactory); // Configure the bean deFinition reader with this context's // resource loading environment. beanDeFinitionReader.setEnvironment(this.getEnvironment()); beanDeFinitionReader.setResourceLoader(this); beanDeFinitionReader.setEntityResolver(new ResourceEntityResolver(this)); // Allow a subclass to provide custom initialization of the reader,// then proceed with actually loading the bean deFinitions. initBeanDeFinitionReader(beanDeFinitionReader); loadBeanDeFinitions(beanDeFinitionReader); }
@Test public void testSinglePattern() throws Throwable { DefaultListablebeanfactory bf = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(bf).loadBeanDeFinitions(CONTEXT); ITestBean advised = (ITestBean) bf.getBean("settersAdvised"); // Interceptor behind regexp advisor nopInterceptor nop = (nopInterceptor) bf.getBean("nopInterceptor"); assertEquals(0,nop.getCount()); int newAge = 12; // Not advised advised.exceptional(null); assertEquals(0,nop.getCount()); advised.setAge(newAge); assertEquals(newAge,advised.getAge()); // Only setter fired assertEquals(1,nop.getCount()); }
@Test public void testMultiplePatterns() throws Throwable { DefaultListablebeanfactory bf = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(bf).loadBeanDeFinitions(CONTEXT); // This is a cglib proxy,so we can proxy it to the target class TestBean advised = (TestBean) bf.getBean("settersAndAbsquatulateAdvised"); // Interceptor behind regexp advisor nopInterceptor nop = (nopInterceptor) bf.getBean("nopInterceptor"); assertEquals(0,nop.getCount()); // This is proxied advised.absquatulate(); assertEquals(1,advised.getAge()); // Only setter fired assertEquals(2,nop.getCount()); }
/** * Loads the bean deFinitions via an XmlBeanDeFinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDeFinitionReader * @see #initBeanDeFinitionReader * @see #loadBeanDeFinitions */ @Override protected void loadBeanDeFinitions(DefaultListablebeanfactory beanfactory) throws BeansException,// then proceed with actually loading the bean deFinitions. initBeanDeFinitionReader(beanDeFinitionReader); loadBeanDeFinitions(beanDeFinitionReader); }
@Test public void testPropertyPathfactorybeanWithPrototypeResult() { DefaultListablebeanfactory xbf = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(xbf).loadBeanDeFinitions(CONTEXT); assertNull(xbf.getType("tb.spouse")); assertEquals(TestBean.class,xbf.getType("propertyPath3")); Object result1 = xbf.getBean("tb.spouse"); Object result2 = xbf.getBean("propertyPath3"); Object result3 = xbf.getBean("propertyPath3"); assertTrue(result1 instanceof TestBean); assertTrue(result2 instanceof TestBean); assertTrue(result3 instanceof TestBean); assertEquals(11,((TestBean) result1).getAge()); assertEquals(11,((TestBean) result2).getAge()); assertEquals(11,((TestBean) result3).getAge()); assertTrue(result1 != result2); assertTrue(result1 != result3); assertTrue(result2 != result3); }
/** * Loads the bean deFinitions via an XmlBeanDeFinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDeFinitionReader * @see #initBeanDeFinitionReader * @see #loadBeanDeFinitions */ @Override protected void loadBeanDeFinitions(DefaultListablebeanfactory beanfactory) throws BeansException,// then proceed with actually loading the bean deFinitions. initBeanDeFinitionReader(beanDeFinitionReader); loadBeanDeFinitions(beanDeFinitionReader); }
public static void main(String[] args) throws IOException { ClassPathResource ClassPathResource = new ClassPathResource("beans.xml"); DefaultListablebeanfactory factory = new DefaultListablebeanfactory(); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(factory); reader.loadBeanDeFinitions(ClassPathResource); Person person = factory.getBean("person",Person.class); System.out.println(person.getHand()); System.out.println(person.getName()); System.out.println(ClassPathResource.getURL()); System.out.println(ClassPathResource.getFile().getAbsolutePath()); String fileUrl = ClassPathResource.getFile().getAbsolutePath(); ApplicationContext context = new FileSystemXmlApplicationContext("/Users/fahai/soft/project/Meta/src/main/resources/beans.xml"); Person person1 = (Person) factory.getBean("person"); // System.out.println(person1.getName()); // DefaultListablebeanfactory }
@Test public void testGenericApplicationContextWithXmlBeanDeFinitionsAndClassLoaderNull() { GenericApplicationContext ctx = new GenericApplicationContext(); ctx.setClassLoader(null); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(ctx); reader.loadBeanDeFinitions(new ClassPathResource(CONTEXT_B,getClass())); reader.loadBeanDeFinitions(new ClassPathResource(CONTEXT_C,getClass())); reader.loadBeanDeFinitions(new ClassPathResource(CONTEXT_A,getClass())); ctx.refresh(); assertEquals(ObjectUtils.identityToString(ctx),ctx.getId()); assertEquals(ObjectUtils.identityToString(ctx),ctx.getdisplayName()); assertTrue(ctx.containsBean("service")); assertTrue(ctx.containsBean("logicOne")); assertTrue(ctx.containsBean("logicTwo")); ctx.close(); }
@Test public void testGenericApplicationContextWithXmlBeanDeFinitionsAndSpecifiedId() { GenericApplicationContext ctx = new GenericApplicationContext(); ctx.setId("testContext"); ctx.setdisplayName("Test Context"); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(ctx); reader.loadBeanDeFinitions(new ClassPathResource(CONTEXT_B,getClass())); ctx.refresh(); assertEquals("testContext",ctx.getId()); assertEquals("Test Context",ctx.getdisplayName()); assertTrue(ctx.containsBean("service")); assertTrue(ctx.containsBean("logicOne")); assertTrue(ctx.containsBean("logicTwo")); ctx.close(); }
@Test public void testAspectsAndAdvisorNotAppliedToManySingletonsIsFastEnough() { Assume.group(TestGroup.PERFORMANCE); Assume.notLogging(factoryLog); GenericApplicationContext ac = new GenericApplicationContext(); new XmlBeanDeFinitionReader(ac).loadBeanDeFinitions(new ClassPathResource(qName("aspectsPlusAdvisor.xml"),getClass())); for (int i = 0; i < 10000; i++) { ac.registerBeanDeFinition("singleton" + i,new RootBeanDeFinition(nestedTestBean.class)); } StopWatch sw = new StopWatch(); sw.start("Singleton Creation"); ac.refresh(); sw.stop(); // What's a reasonable expectation for _any_ server or developer machine load? // 8 seconds? assertStopWatchTimeLimit(sw,8000); }
/** * Loads the bean deFinitions via an XmlBeanDeFinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDeFinitionReader * @see #initBeanDeFinitionReader * @see #loadBeanDeFinitions */ @Override protected void loadBeanDeFinitions(DefaultListablebeanfactory beanfactory) throws BeansException,IOException { // Create a new XmlBeanDeFinitionReader for the given beanfactory. XmlBeanDeFinitionReader beanDeFinitionReader = new XmlBeanDeFinitionReader(beanfactory); // 创建XMLBeanDeFinitionReader // Configure the bean deFinition reader with this context's // resource loading environment. beanDeFinitionReader.setEnvironment(this.getEnvironment()); beanDeFinitionReader.setResourceLoader(this); beanDeFinitionReader.setEntityResolver(new ResourceEntityResolver(this)); // Allow a subclass to provide custom initialization of the reader,// then proceed with actually loading the bean deFinitions. initBeanDeFinitionReader(beanDeFinitionReader); loadBeanDeFinitions(beanDeFinitionReader); // 使用XmlBeanDeFinitionReader加载BeanDeFinition }
@Test public void testGetobjectTypeWithDirectTarget() { DefaultListablebeanfactory bf = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(bf).loadBeanDeFinitions(new ClassPathResource(TARGETSOURCE_CONTEXT,CLASS)); // We have a counting before advice here CountingBeforeAdvice cba = (CountingBeforeAdvice) bf.getBean("countingBeforeAdvice"); assertEquals(0,cba.getCalls()); ITestBean tb = (ITestBean) bf.getBean("directTarget"); assertTrue(tb.getName().equals("Adam")); assertEquals(1,cba.getCalls()); Proxyfactorybean pfb = (Proxyfactorybean) bf.getBean("&directTarget"); assertTrue("Has correct object type",TestBean.class.isAssignableFrom(pfb.getobjectType())); }
@Test public void testGetobjectTypeWithNoTargetorTargetSource() { DefaultListablebeanfactory bf = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(bf).loadBeanDeFinitions(new ClassPathResource(TARGETSOURCE_CONTEXT,CLASS)); ITestBean tb = (ITestBean) bf.getBean("noTarget"); try { tb.getName(); fail(); } catch (UnsupportedOperationException ex) { assertEquals("getName",ex.getMessage()); } factorybean<?> pfb = (Proxyfactorybean) bf.getBean("&noTarget"); assertTrue("Has correct object type",ITestBean.class.isAssignableFrom(pfb.getobjectType())); }
@Test public void testSerializableSingletonProxy() throws Exception { DefaultListablebeanfactory bf = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(bf).loadBeanDeFinitions(new ClassPathResource(SERIALIZATION_CONTEXT,CLASS)); Person p = (Person) bf.getBean("serializableSingleton"); assertSame("Should be a Singleton",p,bf.getBean("serializableSingleton")); Person p2 = (Person) SerializationTestUtils.serializeAndDeserialize(p); assertEquals(p,p2); assertNotSame(p,p2); assertEquals("serializableSingleton",p2.getName()); // Add unserializable advice Advice nop = new nopInterceptor(); ((Advised) p).addAdvice(nop); // Check it still works assertEquals(p2.getName(),p2.getName()); assertFalse("Not serializable because an interceptor isn't serializable",SerializationTestUtils.isSerializable(p)); // Remove offending interceptor... assertTrue(((Advised) p).removeAdvice(nop)); assertTrue("Serializable again because offending interceptor was removed",SerializationTestUtils.isSerializable(p)); }
@Test public void testfactorybeansWithAutowiring() throws Exception { DefaultListablebeanfactory factory = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(factory).loadBeanDeFinitions(WITH_AUTOWIRING_CONTEXT); beanfactoryPostProcessor ppc = (beanfactoryPostProcessor) factory.getBean("propertyPlaceholderConfigurer"); ppc.postProcessbeanfactory(factory); assertNull(factory.getType("betaFactory")); Alpha alpha = (Alpha) factory.getBean("alpha"); Beta beta = (Beta) factory.getBean("beta"); Gamma gamma = (Gamma) factory.getBean("gamma"); Gamma gamma2 = (Gamma) factory.getBean("gammaFactory"); assertSame(beta,alpha.getBeta()); assertSame(gamma,beta.getGamma()); assertSame(gamma2,beta.getGamma()); assertEquals("yourName",beta.getName()); }
/** * Loads the bean deFinitions via an XmlBeanDeFinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDeFinitionReader * @see #initBeanDeFinitionReader * @see #loadBeanDeFinitions */ @Override protected void loadBeanDeFinitions(DefaultListablebeanfactory beanfactory) throws BeansException,// then proceed with actually loading the bean deFinitions. initBeanDeFinitionReader(beanDeFinitionReader); loadBeanDeFinitions(beanDeFinitionReader); }
@Before public void setUp() { // Interesting hierarchical factory to test counts. // Slow to read so we cache it. DefaultListablebeanfactory grandParent = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(grandParent).loadBeanDeFinitions(ROOT_CONTEXT); DefaultListablebeanfactory parent = new DefaultListablebeanfactory(grandParent); new XmlBeanDeFinitionReader(parent).loadBeanDeFinitions(MIDDLE_CONTEXT); DefaultListablebeanfactory child = new DefaultListablebeanfactory(parent); new XmlBeanDeFinitionReader(child).loadBeanDeFinitions(LEAF_CONTEXT); this.dependentBeansFactory = new DefaultListablebeanfactory(); new XmlBeanDeFinitionReader(this.dependentBeansFactory).loadBeanDeFinitions(DEPENDENT_BEANS_CONTEXT); dependentBeansFactory.preInstantiateSingletons(); this.listablebeanfactory = child; }
public static void main(String[] args)throws Exception { // �������·���µ�beans.xml�ļ�������Spring���� // ApplicationContext ctx = new // ClasspathXmlApplicationContext("beans.xml"); // Person p = (Person)ctx.getBean("chinese"); // ���������·���µ�beans.xml�ļ�����Resource���� Resource isr = new ClassPathResource("beans.xml"); // ����Ĭ�ϵ�beanfactory���� DefaultListablebeanfactory beanfactory = new DefaultListablebeanfactory(); // ��Ĭ�ϵ�beanfactory��������isr��Ӧ��XML�����ļ� new XmlBeanDeFinitionReader(beanfactory).loadBeanDeFinitions(isr); // ��ȡ�����е�Bean������ BeanPostProcessor bp = (BeanPostProcessor)beanfactory.getBean("bp"); // ע��Bean������ beanfactory.addBeanPostProcessor(bp); Person p = (Person)beanfactory.getBean("chinese"); p.useAxe(); }
protected void initBeanDeFinitionReader(XmlBeanDeFinitionReader reader) { super.initBeanDeFinitionReader(reader); btl = new BeanTrackingListener(); reader.setEventListener(btl); // Work around a spring bug where setting the listener does nothing try { Field f = reader.getClass().getDeclaredField("eventListener"); f.setAccessible(true); f.set(reader,btl); } catch(Exception e) { throw new RuntimeException(e); } }
protected void setUp() throws Exception { adminControl = createControl(); admin = adminControl.createMock(ConfigurationAdmin.class); cfg = createMock(Configuration.class); config = new Hashtable<String,Object>(); expect(admin.getConfiguration(persistentId)).andReturn(cfg).atLeastOnce(); expect(cfg.getProperties()).andReturn(config).atLeastOnce(); adminControl.replay(); replay(cfg); bundleContext = new MockBundleContext() { // add Configuration admin support @Override public Object getService(ServiceReference reference) { return admin; } // ManagedService registration @Override public ServiceRegistration registerService(String clazz,Object service,Dictionary properties) { // save the callback if (ManagedService.class.getName().equals(clazz)) { msCallback = (ManagedService) service; } return super.registerService(clazz,service,properties); } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); // reader.setEventListener(this.listener); reader.loadBeanDeFinitions(new ClassPathResource("configProperties.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { admin = createMock(ConfigurationAdmin.class); Configuration cfg = createMock(Configuration.class); Dictionary config = new Hashtable(); expect(admin.getConfiguration("com.xyz.myapp")).andReturn(cfg).atLeastOnce(); expect(cfg.getProperties()).andReturn(config).atLeastOnce(); replay(admin,cfg); BundleContext bundleContext = new MockBundleContext() { // add Configuration admin support public Object getService(ServiceReference reference) { return admin; } }; GenericApplicationContext appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); // reader.setEventListener(this.listener); reader.loadBeanDeFinitions(new ClassPathResource("osgiPropertyPlaceholder.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { final Configuration cfg = createMock(Configuration.class); expect(cfg.getProperties()).andReturn(new Hashtable<String,Object>()); replay(cfg); BundleContext bundleContext = new MockBundleContext() { // always return a ConfigurationAdmin public Object getService(ServiceReference reference) { return new MockConfigurationAdmin() { public Configuration getConfiguration(String pid) throws IOException { return cfg; } }; } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); appContext.setClassLoader(getClass().getClassLoader()); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); reader.loadBeanDeFinitions(new ClassPathResource("managedServiceFactory.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { // reset counter just to be sure DummyListener.BIND_CALLS = 0; DummyListener.UNBIND_CALLS = 0; DummyListenerServiceSignature.BIND_CALLS = 0; DummyListenerServiceSignature.UNBIND_CALLS = 0; DummyListenerServiceSignature2.BIND_CALLS = 0; DummyListenerServiceSignature2.UNBIND_CALLS = 0; BundleContext bundleContext = new MockBundleContext() { // service reference already registered public ServiceReference[] getServiceReferences(String clazz,String filter) throws InvalidSyntaxException { return new ServiceReference[] { new MockServiceReference(new String[] { Cloneable.class.getName() }) }; } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); appContext.setClassLoader(getClass().getClassLoader()); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); // reader.setEventListener(this.listener); reader.loadBeanDeFinitions(new ClassPathResource("osgiReferenceNamespaceHandlerTests.xml",getClass())); appContext.refresh(); }
private void refresh() { replay(installBundle,startBundle,updateBundle); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); reader.loadBeanDeFinitions(new ClassPathResource("bundlebeanfactoryTest.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { // reset counter just to be sure DummyListener.BIND_CALLS = 0; DummyListener.UNBIND_CALLS = 0; DummyListenerServiceSignature.BIND_CALLS = 0; DummyListenerServiceSignature.UNBIND_CALLS = 0; DummyListenerServiceSignature2.BIND_CALLS = 0; DummyListenerServiceSignature2.UNBIND_CALLS = 0; BundleContext bundleContext = new MockBundleContext() { // service reference already registered public ServiceReference[] getServiceReferences(String clazz,String filter) throws InvalidSyntaxException { return new ServiceReference[0]; } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); appContext.setClassLoader(getClass().getClassLoader()); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); // reader.setEventListener(this.listener); reader.loadBeanDeFinitions(new ClassPathResource("osgiReferenceCollectionNamespaceHandlerTests.xml",getClass())); appContext.refresh(); }
public void testInvalidDefaultsCheck() throws Exception { XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); try { reader.loadBeanDeFinitions(new ClassPathResource("osgiInvalidDefaults.xml",getClass())); fail("should have Failed since osgi:defaults cannot be used outside the root element"); } catch (BeanDeFinitionParsingException ex) { // expected } }
protected void setUp() throws Exception { services.clear(); RegistrationListener.BIND_CALLS = 0; RegistrationListener.UNBIND_CALLS = 0; CustomregistrationListener.REG_CALLS = 0; CustomregistrationListener.UNREG_CALLS = 0; registration = new MockServiceRegistration(); bundleContext = new MockBundleContext() { public ServiceReference[] getServiceReferences(String clazz,String filter) throws InvalidSyntaxException { return new ServiceReference[] { new MockServiceReference(new String[] { Cloneable.class.getName() }) }; } public ServiceRegistration registerService(String[] clazzes,Dictionary properties) { services.add(service); return registration; } }; appContext = new GenericApplicationContext(); appContext.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); XmlBeanDeFinitionReader reader = new XmlBeanDeFinitionReader(appContext); // reader.setEventListener(this.listener); reader.loadBeanDeFinitions(new ClassPathResource("osgiServiceNamespaceHandlerTests.xml",getClass())); appContext.refresh(); }
protected void setUp() throws Exception { context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); reader = new XmlBeanDeFinitionReader(context); reader.setDocumentLoader(new PublicBlueprintDocumentLoader()); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.getbeanfactory().setConversionService(new SpringBlueprintConverterService(null,context.getbeanfactory())); context.refresh(); container = new SpringBlueprintContainer(context); }
protected void setUp() throws Exception { bundleContext = new MockBundleContext(); context = new GenericApplicationContext(); context.setClassLoader(getClass().getClassLoader()); context.getbeanfactory().addBeanPostProcessor(new BundleContextAwareProcessor(bundleContext)); context.addbeanfactoryPostProcessor(new beanfactoryPostProcessor() { public void postProcessbeanfactory(ConfigurableListablebeanfactory beanfactory) throws BeansException { beanfactory.addpropertyeditorRegistrar(new BlueprintEditorRegistrar()); } }); reader = new XmlBeanDeFinitionReader(context); reader.loadBeanDeFinitions(new ClassPathResource(CONfig,getClass())); context.refresh(); BlueprintContainer = new SpringBlueprintContainer(context); }
关于不推荐使用Springs XmlBeanFactory和不推荐使用氟化凝胶的年龄的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于FAQ(37): org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML docume、org.springframework.beans.factory.HierarchicalBeanFactory的实例源码、org.springframework.beans.factory.xml.XmlBeanDefin、org.springframework.beans.factory.xml.XmlBeanDefinitionReader的实例源码等相关内容,可以在本站寻找。
本文标签: