如何在Spring中从外部Jar自动装配@service

时间:2014-10-19 13:52:46

标签: spring service jar autowired maven-war-plugin

我正在开发两个基于Spring的应用程序(Ex app1和app2)完全使用Maven进行Java配置而没有XML配置。 通过Maven -WAR插件,我创建了app2的Jar参考并使用mvn install:install file我已经用app1绑定了app2 jar。 app2 - 用于从数据源获取信息。

我已经在app1实现类中自动连接app2 serive,以获取在app2应用程序中使用@Service注释的详细信息。

我的第一个疑问是:

app1和app2都有单独的AppConfig.java文件。可以简单地自动装配Jar格式的@Service之一,或者我需要在App1的AppConfig中定义或导入App2的AppConfig java文件。 jave文件。

我尝试使用简单的自动装配外部JAR @Service类并以错误结束。

请帮助我完成将外部Jar @Service自动装入的需要做些什么 实施班。

以下是我的App1存储库类

@Repository
public class VehicleRepository {   

    @Autowired  
    VehicleService vehicleservice;   

    public Map<String, item> getAllTypes(String type) {     

            Vehicke vehicle = vehicleservice.getAllVehicle(type);

            // handle response here...
        } catch (Exception ex) {

            // handle exception here
        } finally {

        }
        return vehicleDetails;
    }

}

VehicleService可在外部Jar中使用。

VehicleService类:

@Service
public class VehicleService {

    public VehicleService() {
    }

    @Autowired
    PortRepository portRepository;

    @Autowired
    MessageSource messageSource;


    public Vehicle getAllVehicles(String type) {
        List<Vehicle> cehicles = portRepository.getPorts();
        return vehicle;
    }

1 个答案:

答案 0 :(得分:1)

让我们简单一点。
你的App1取决于App2。
所以你使用 @Import(App2Config.class)类App1Config {} ,就是这样。

顺便说一句,你可以使用带有模块app1和app2的父pom.xml来代替使用' mvn install:install file '的技巧,并声明模块app1对模块app2的依赖性pom.xml&lt; dependencies&gt;部分。然后运行“ mvn install ”来构建项目。
请在此处查看示例:http://books.sonatype.com/mvnex-book/reference/multimodule.html