具有不同背景的弹簧多模块项目

时间:2015-03-02 12:09:11

标签: java spring maven spring-mvc multi-module

嗨伙计们。 我在多模块项目中遇到问题。我的项目有3个jar模块和1个web模块。

ABZ
ABZ-service
ABZ-dao
ABZ-webapp

在这个' ABZ'是我的父模块和' ABZ-webapp'是我的网络模块。所有要求都通过弹簧容器处理。 但现在我想为Web服务Spring REST Web服务添加新模块。其中我想拥有REst控制器。

ABZ-webservice

我的问题是,我该怎么做才能让我的上下文扫描ABZ-webservice'的包装结构。模块。 FYI..ABZ-webservice。

的web.xml

<servlet>
    <servlet-name>ABZ</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

<servlet-mapping>
        <servlet-name>ABZ</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

弹簧context.xml中

<context:component-scan base-package="com.ABZ.rest.controller" />
<context:component-scan base-package="com.ABZ.web.controller" />

<bean id="templateResolver"
        class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".html" />
        <property name="templateMode" value="HTML5" />
        <!-- Template cache is set to false (default is true). -->
        <property name="cacheable" value="false" />
        <property name="characterEncoding" value="UTF-8" />

    </bean>

ABZ-webapp模块中的NormalController

package com.ABZ.web.controller;
@controller
@RequestMappig (--)
public class NormalController{

   @RequestMappig (--)
  public String test()
  {
  }
}

ABZ-webservice模块中的RestController

package com.ABZ.rest.controller;
@controller
@RequestMappig (--)
public class RestController{

   @RequestMappig (--)
  public String test()
  {
  }
}

contextPath:localhost:8080 / ABZ-webapp /

NormalController是可访问的,但不是RestController 现在从这个控制器路径我想点击我的&#39; ABZ-webservice&#39;模块

1 个答案:

答案 0 :(得分:0)

您已经在spring-context.xml中定义了组件扫描,它们没问题

<context:component-scan base-package="com.ABZ.rest.controller" />
<context:component-scan base-package="com.ABZ.web.controller" />

现在将您的课程定义为

ABZ-webapp模块中的NormalController

package com.ABZ.web.controller;
@controller
@RequestMappig (value="/web")
public class NormalController{

   @RequestMappig (value="/test")
  public String test()
  {
  }
}

ABZ-webservice模块中的RestController

package com.ABZ.rest.controller;
@controller
@RequestMappig (value="/rest")
public class RestController{

   @RequestMappig (value="/test")
  public String test()
  {
  }
}

让你的测试像

  

http://localhost:8080/webAppName/web/test

  

http://localhost:8080/webAppName/rest/test

如果您有任何疑问,我可以编辑我的答案。