快速开始 - AntStudio/moon GitHub Wiki

以创建一个学生信息管理模块为例,这里学生信息包括姓名、学号、专业。

1.创建表结构

CREATE TABLE tab_student(
	id BIGINT(11) NOT NULL AUTO_INCREMENT,#自增id列
	NAME VARCHAR(30),#姓名
	number VARCHAR(30),#学号
	major VARCHAR(50),#专业
	delete_flag BIT(1) DEFAULT b'0',#删除标志
	domain_no INT(11) DEFAULT 0,#域编号
	PRIMARY KEY (id)#id为主键
)

2.创建域模型

域模型包含了一个对象的基本属性(即实体类),同时也具有该领域的一些行为动作,并且Moon中的领域的行为动作是通过事件消息机制来完成的。

  • 需继承BaseDomain(Moon BaseDomain提供了领域模型的基础通用的属性,如id,delete_flag等;同时也提供了领域模型的增删查改行为)

  • 使用@Model注解将该对象标示为领域对象

  • 添加领域模型的属性

  • 添加领域模型的其他行为(非必须)

3.创建仓储类

  • 采用接口方式声明仓储(可继承BaseRepository, BaseRepository提供了通用的行为),并添加相应的方法

  • 使用@Repository将该接口标示为仓储类

4.创建事件处理器

  • 继承BaseEventHandler(BaseHanlder提供了对BaseDomain里的通用事件的处理器,继承BaseEventHandler的处理器,只需要实现其中的抽象方法即可,而无需关心事件主题的转发和分配)

  • 事件处理器由Spring 容器管理,使用@Component标示

5.创建服务类

  • 创建服务类接口,继承BaseService

  • 创建服务实现类,继承AbstractService(AbstractService提供了对BaseService的通用实现,大多数情况下在服务实现类中无需再次复写实现)

  • 将服务实现类交由Spring容器管理,使用@Service标示

6.创建控制器

  • 控制器,继承至BaseAction(BaseAction提供领域增强方式的便捷式调用)

  • 书写相关的业务逻辑方法,将领域模型相关的行为转发给领域处理,将服务类相关的逻辑转发给服务类处理

  • 菜单映射

  • @Controller标示控制器

7.页面

  • 创建Jsp页面文件

  • 创建对应的css以及js文件

视频资料 :http://pan.baidu.com/s/1dDpbIwT

源码 :http://pan.baidu.com/s/1pJG1FHx