为了规范应用的组件划分,明确各组件的边界,通过高内聚低耦合实现应用的模块化结构。
所有Lifeix应用都应该遵循此规范。
目录及结构
|
说明
|
---|---|
|
|
注:参考 apollo 工程目录结构 ssh://[email protected]:19022/framework/lifeix-demo.git
子工程直接的依赖关系如下图:
另外:工程集的parent需要继承自com.lifeix.pom,dependency的版本号、打包脚步 等都在com.lifeix.com 中控制
dao子工程中包的命名规范如下:
src/main/java/com.lifeix.xxx.yyy.domain.User.java
src/main/java/com.lifeix.xxx.yyy.dao.UserDao.java
src/main/java/com.lifeix.xxx.yyy.dao.impl.UserDaoImpl.java
src/main/resources/com/lifeix/xxx/yyy/dao/impl/UserDaoImpl.xml
src/main/resources/conf/xxx-yyy-spring-dao.xml
ORM中的Entity包名为:com.lifeix.%appname%.%modulename%.domain
DAO接口所在包为:com.lifeix.%appname%.%modulename%.dao
DAO接口实现类所在包为:com.lifeix.%appname%.%modulename%.dao.impl
DAO操作使用的SQL脚步文件所在目录为:com/lifeix/%appname%/%modulename%/dao/impl
DAO的配置文件所在目录为:src/main/resources/conf/
service子工程中包名规范如下:
src/main/java/com.lifeix.%appname%.%modulename%.beans.User.java
src/main/java/com.lifeix.%appname%.%modulename%.service.UserService.java
Service中的领域模型所在的包名为:com.lifeix.%appname%.%modulename%.beans
Service中的接口所在的包名为:com.lifeix.%appname%.%modulename%.service
impl子工程中包名规范如下:
src/main/java/com.lifeix.%appname%.%modulename%.service.impl.UserServiceImpl.java
src/main/resources/conf/xxx-yyy-spring-service.xml
src/test/java/com.lifeix.%appname%.%modulename%.service.impl.UserServiceImplTest.java
src/test/resources/test4j.properties
src/test/resources/system.properties
src/test/resources/conf/xxx-yyy-spring-service-test.xml
Impl中业务接口的实现所在的包名为:com.lifeix.%appname%.%modulename%.service.impl
Impl中业务实现的配置文件所在的目录为:src/main/resources/conf/
web子工程中包名规范如下:
src/main/java/com.lifeix.%appname%.%modulename%.web.vo.User.java
src/main/java/com.lifeix.%appname%.%modulename%.web.controller.UserController.java
src/main/resources/conf/xxx-yyy-spring-web.xml
Web层数据数据对象所在的包为:com.lifeix.%appname%.%modulename%.web.vo
Web层Controller所在的包为:com.lifeix.%appname%.%modulename%.web.controller
Web层配置文件所在的目录为:src/main/resources/conf/
war子工程中包名规范如下:
src/main/java
src/main/resources/conf/xxx-application-context.xml
src/main/webapp/WEB-INF/web.xml
Web层配置文件所在的目录为:src/main/resources/conf/
task子工程中包名规范如下:
src/main/java/com.lifeix.xxx.yyy.task.service.UserStatService.java
src/main/java/com.lifeix.xxx.yyy.task.service.impl.UserStatServiceImpl.java
src/main/resources/conf/xxx-spring-task.xml
src/test/java/com.lifeix.xxx.yyy.task.service.impl.UserStatServiceImplTest.java
src/test/resources/test4j.properties
src/test/resources/system.properties
src/test/resources/conf/xxx-spring-task-test.xml
task中业务接口所在的包为:com.lifeix.%appname%.%modulename%.task.service
task中业务接口实现所在的包为:com.lifeix.%appname%.%modulename%.task.service.impl
task中配置文件所在的目录为:src/main/resources/conf/
单元测试的包名及目录规范:
单元测试类的包名和所测试类的包名一致,所在的目录为 src/test/java
系统配置文件system.properties及单元测试配置文件test4j.properties所在的目录为:src/test/resources
单元测试 spring 配置文件所在目录为:src/test/resources/conf
DAO的接口命名为:XxxDao
DAO的实现类命名为:XxxDaoImpl
Service层接口命名为:XxxService
Service层接口实现类命名为:XxxServiceImpl
Web层controller的命名为:XxxController
单元测试类的命名为:XxxDaoImplTest、XxxControllerTest
注:Xxx 为对象名称
DAO层配置文件命名为:xxx-yyy-spring-dao.xml、xxx-yyy-sqlmap-config.xml
Service层配置文件命名为:xxx-yyy-spring-service.xml
Web层的命名为:xxx-yyy-spring-web.xml
war包的命名为:xxx-application-context.xml
Task的配置文件命名为:xxx-spring-task.xml
系统配置文件命名为:system.properties
单元测试配置文件:test4j.properties、system.properties、xxx-yyy-spring-dao-test.xml、xxx-yyy-spring-service-test.xml、xxx-yyy-spring-web-test.xml、xxx-spring-task-test.xml
注:xxx 为应用名称、yyy为模块名称。