我有一个工作的Spring(MVC)项目,我希望与一个简单的java项目(用作守护进程)集成。
我已经将Spring项目添加到Eclipse中的简单Java项目中,但是我无法在简单的java项目中调用我想要在Spring-Hibernate项目中使用的服务的Spring行为。我所得到的只是Spring项目中@Autowired实体的NullPointerException。当我尝试运行守护进程java程序时,Spring MVC项目已经启动并运行。
虽然我能够运行守护进程,但是如果我将所有必需的服务类从Spring项目复制到java项目并添加所需的Spring jar(基本上将原始的简单java作为Spring项目),我想知道如何通过另一个简单的java程序来实现Spring服务。
答案 0 :(得分:0)
您没有说明您正在使用的弹簧版本。我假设它可能是Spring3,但其他版本(> 2.5)应该没有太大差异。
根据Spring Framework参考手册(章节IoC容器): ApplicationContext接口的几个实现是与Spring一起提供的。在独立应用程序中,通常创建ClassPathXmlApplicationContext或FileSystemXmlApplicationContext的实例
在同一章中再说一点:
实例化Spring IoC容器非常简单。提供给ApplicationContext构造函数的位置路径实际上是资源字符串,允许容器从各种外部资源(如本地文件系统,Java CLASSPATH等)加载配置元数据。
ApplicationContext context =
new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"});
ClassPathXmlApplicationContext
的javadoc表示此构造函数(指定上下文位置创建新的ClassPathXmlApplicationContext,从给定的XML文件加载定义并自动刷新上下文。
我目前在测试中使用这种独立初始化。