结构图
- 提供一个web工程,使用JSTL + springmvc 架构
- 一个订单order应用,一个用户user应用,一个积分score应用,使用spring + mybatis
- 三个应用对应着自己的数据库,数据库使用mysql
- 基于dubbo 远程调用,使用zookeeper注册中心
项目代码
代码路径:https://github.com/dengjili/dubbo-demo
核心代码演示
通过dubbo调用,分别往三个中心插入数据
@Autowired
private IUserOperateService userOperateService;
@Autowired
private IOrderOperateService orderOperateService;
@Autowired
private IScoreOperateService scoreOperateService;
@RequestMapping("/index")
public ModelAndView index() {
ModelAndView mv = new ModelAndView();
String userId = userOperateService.createUser("张三");
String orderId = orderOperateService.createOrder(userId, "商品订购");
String score = scoreOperateService.addScore(userId, 100);
mv.addObject("userId", userId);
mv.addObject("orderId", orderId);
mv.addObject("score", score);
mv.setViewName("index");
return mv;
}
分别启动应用,应用启动逻辑
public class UserBootstratp {
public static void main(String[] args) {
/* Main.main(args); */
Logger logger = LoggerFactory.getLogger(UserBootstratp.class);
@SuppressWarnings("all")
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
logger.debug("user app 启动完成...");
try {
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试
user结果
order结果
score结果