Java Spring-从jar文件加载applicationContext
我想从jar文件(common-1.0.jar)加载applicationContext。我在独立应用程序中使用了这些步骤 在pom文件中:Java Spring-从jar文件加载applicationContext,java,spring,jakarta-ee,jar,applicationcontext,Java,Spring,Jakarta Ee,Jar,Applicationcontext,我想从jar文件(common-1.0.jar)加载applicationContext。我在独立应用程序中使用了这些步骤 在pom文件中: <dependency> <groupId>com.cityid</groupId> <artifactId>common</artifactId> <version>1.0</version> </dependency>
<dependency>
<groupId>com.cityid</groupId>
<artifactId>common</artifactId>
<version>1.0</version>
</dependency>
我可以加载PartyFacadeBean,但我无法加载和新实体,如Party it,会引发nullpoint异常!这种方法只适用于bean,而不适用于DAO或实体。如何新建实体并在独立应用程序中填充它们?如果spring能够从mainContext.xml中查找partyFacade,那么其他bean定义也应该在该文件中可见。但我可以;在这里,加载和新实体更具描述性,以帮助我们理解问题。示例代码和错误跟踪也是必需的。这可能是关于JAR文件内部的组件扫描。我说的对吗?@Pavel:组件扫描没有问题,因为所有的类都放在同一个目录中。@Himanshu:如果我想在没有tomcat或任何应用服务器的独立spring应用程序中使用jar文件的类,我该怎么办?我使用junit进行测试并运行true,但我不能运行它的主类!如果您试图加载应用程序上下文,则不需要像tomcat这样的容器。上面问题中加载bean def的方式看起来不错。如果您在从主类运行时遇到问题,您应该会遇到一些异常,请粘贴它,然后我们可以查看。
private static BeanFactory factory = null;
ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
new String[] {"spring/mainContext.xml"});
factory = (BeanFactory) appContext;
PartyFacade partyFacade = (PartyFacade) factory.getBean("partyFacade");
//Party party = new PartyFacade(); //Entity
partyFacade.fillParty();