快速开始 - 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文件