Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我的服务层位于另一个模块中时,如何获得类似注释的支持?_Java_Spring_Maven - Fatal编程技术网

Java 当我的服务层位于另一个模块中时,如何获得类似注释的支持?

Java 当我的服务层位于另一个模块中时,如何获得类似注释的支持?,java,spring,maven,Java,Spring,Maven,我的SpringMVC应用程序分为几个模块 我的服务在它们自己的模块中 以前我常在我的服务上添加@Service注释,但由于它们位于一个单独的模块中,没有spring,我如何能像以前一样在我的web应用程序中自动将它们连接起来?如果将应用程序拆分为模块,则也会拆分其依赖项 例如: 您的ui依赖于SpringMVC。 您的服务依赖于SpringCore和hibernate注释。 您的服务impl依赖于hibernate核心 然后,如果您的模型具有适当的依赖性。您可以像使用一样使用@Service。

我的SpringMVC应用程序分为几个模块

我的服务在它们自己的模块中


以前我常在我的服务上添加@Service注释,但由于它们位于一个单独的模块中,没有spring,我如何能像以前一样在我的web应用程序中自动将它们连接起来?

如果将应用程序拆分为模块,则也会拆分其依赖项

例如:

您的ui依赖于SpringMVC。 您的服务依赖于SpringCore和hibernate注释。 您的服务impl依赖于hibernate核心


然后,如果您的模型具有适当的依赖性。您可以像使用一样使用@Service。

请记住,当您使用应用程序创建WAR时,所有必需的模块将与Spring依赖项(MVC模块所需)一起放置在
WEB-INF/lib
中。 因此,放置服务的模块可能对spring上下文(包含注释)具有依赖性,因为MVC模块本身需要这种依赖性,所以无论如何都会将其放置在最终的包中。如果你使用maven,它会自动处理引擎盖下的所有事情


但是,如果您不想依赖于spring,例如,因为您的“服务模块”是作为一个独立的、无spring的捆绑包部署的,那么您可以使用JSR330
@Inject
@Resource
@Qualifier
Java注释,它们可以与spring等价物互换。但是,我不知道与
@Service
@Component
@Repository
相当的Java,因此在这些情况下,您可以在MVC模块中依赖XML Spring上下文配置。

我明白了,这对我来说并不正确,为什么我的服务需要spring core,而我只需要添加注释..还有其他方法吗?您可以使用xml配置,并将spring core依赖项移动到您的web模块。如果我使用不同的注入框架,我可以这样做吗?像javax.inject一样,javax.inject只是一个规范,您必须选择实现(spring、GoogleGuice等),稍后您可以切换到另一个实现,但该规范不支持特定提供者的所有功能。