如何自动装配另一个项目中的类

时间:2017-12-06 05:15:28

标签: spring hibernate spring-mvc

我有两个java项目,如epService和epEntity(db访问的工厂类)。还有另一个Spring项目作为epWeb,它包含控制器,这是一个Rest API。 现在,我想将epEntity内部的一个类自动装入spring项目epWeb。 我已成功在该epWeb项目中自动安装了类,但我无法从另一个项目中自动装配一个类 任何人都有这样做的建议,请告诉我。 如果这是stackoverflow的一个无关紧要的问题,请删除它。

我自动上课的课程 公共类Mapper {

@Autowired
private SessionFactory sessionFactory;

public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
}
@Autowired
private AppointmentFactory af;
@Autowired
private AppointmentController ac;
}

MVC-调度-servlet.xml中

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

    <context:component-scan base-package="com.mobios.ep.web.controllers" />
    <!-- <context:component-scan base-package="com.mobios.ep.services" />
    <context:component-scan base-package="com.ombios.ep.entity.factory" /> -->
    <mvc:annotation-driven />
    <mvc:resources mapping="/resources/**" location="/resources/" />

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>      
    </bean> 
     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
     <property name="maxUploadSize" value="1048576"/>
    </bean>
</beans>

2 个答案:

答案 0 :(得分:2)

您可以在主应用程序epWeb中使用epEntity注释,以便在作为Bean(控制器,服务等)的@ComponentScan({"com.example.service", "com.example.controlle‌​r"}) 项目中的Spring上下文类中注册。

@Service

此外,请确保在epEntity项目中使用SELECT * FROM table1; +------+------+---------+ | id | col1 | created_by| +------+------+---------+ | 1 | 0 | steve jobs| | 2 | 1 | bill gat | | 3 | 0 | Jones | +------+------+---------+ 3 rows in set (0.00 sec) 注释服务实施。

答案 1 :(得分:0)

我的兴趣是在两个项目中为自己的spring bean配置(你使用名称mvc-dispatcher-servlet.xml)创建一个spring-config.xml文件,并在web.xml上为contextConfigLocation映射这两个文件,所以两者都是项目将处于相同的春季环境中。

此外,您可以将指定的模式用于spring配置文件,并将正则表达式用于contextConfigLocation。

web.xml片段:

  <context-param>
    <param-name>contextConfigLocation</param-name>
      <param-value>
        classpath:view-spring-config.xml
        classpath:service-spring-config.xml
      </param-value>
  </context-param>

  <context-param>
    <param-name>contextConfigLocation</param-name>
      <param-value>
        classpath:*-spring-config.xml
      </param-value>
  </context-param>