XPages Java类中的Spring注释

时间:2015-10-21 10:40:44

标签: java spring xpages lotus-domino

我正在尝试在Domino XPages Java类中使用Spring注释。当我在配置文件中定义bean时,Spring工作。但是我没有使用注释。

为了说明问题,我创建了两个用@Component注释注释的简单空类 - com.geo168.a.B@Component public class B {})和com.geo168.a.C@Component public class C {})< / p>

我在Eclipse中创建的第一个,打包并添加到jar中的应用程序中。第二个我直接在Code / Java部分添加。

我在配置文件中添加了一个组件扫描标记:<context:component-scan base-package="com.geo168.a"/>并尝试实例化这些类:

        ApplicationContext ctx = new ClassPathXmlApplicationContext(SPRING_CONFIG); 
        // class defined in the jar, works ok
        com.geo168.a.B b = ctx.getBean(com.geo168.a.B.class);
        // class defined in Code/Java, throws exception
        com.geo168.a.C c = ctx.getBean(com.geo168.a.C.class);

我收到错误:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.geo168.a.C] is defined

Spring只在JAR文件中找到了带注释的类。如果我将bean显式添加到配置文件中,它就可以工作:

<bean class="com.geo168.a.C"/>

类似的帖子:Is possible to add annotation @ManagedBean in XPages?似乎只解决了特定的JSF注释(不起作用,因为它们没有实现)。

在Spring文档中:http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-scanning-autodetection我找到了一个注释:The scanning of classpath packages requires the presence of corresponding directory entries in the classpath. When you build JARs with Ant, make sure that you do not activate the files-only switch of the JAR task.

这可能与某种程度有关吗?我不知道Domino以什么形式在内部部署类。

0 个答案:

没有答案