场景:将大项目中的某个模块功能拆出成一个独立的dubbo模块,大项目引用dubbo项目暴露的接口来引用dubbo项目中模块的功能。以后此模块的问题全在单独的dubbo项目中维护即可,发布版本的时候只将dubbo项目的jar包替换无需停掉整个项目去发布版本。对于bug修复等发版会更加方便无需考虑太多其他功能关联影响发版。
一、搭建dubbo项目
操作工具:intelliJ IDEA 2017.1
步骤:
1、创建两个新的model maven项目 一个是xxx-common命名一个是xxx-service命名
先别管为什么创建两个项目,先创建创建之后会解释原因:
next
finish完成
项目创建完成后创建项目目录结构:
其中xxx-common的项目是存放实体对象,util工具类,和要暴露给外部调用的定义的接口,此项目中没有接口的实现类
xxx-service的项目是存放common中接口的实现类,dao层,mapper层,具体参数类 util工具类等以及最重要的main层
主:main 层里只有一个方法是application方法。用来启动service层的方法
目录结构:
Application类:
import org.springframework.context.support.ClassPathXmlApplicationContext; import java.io.IOException; /******************************************************************************* * Copyright (c) 2017 mmj.com * * All rights reserved. * * Contributors: * Miller Ming - Initial implementation * 2017/10/8 *******************************************************************************/ public class Application { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); applicationContext.start(); System.out.println("service start"); try { System.in.read(); } catch (IOException e) { e.printStackTrace(); } System.out.println("shut down"); } }
请看下一篇(二)dubbo项目搭建实例