第2章 文件结构与配置
作者:ThinkGem
更新日期:2014-4-8
1. 文件结构
1.1. 源码目录
src/main/java
com.thinkgem.jeesite | Jeesite平台目录 |
├ common | 公共模块存放目录 |
│ ├ beanvalidator | 实体Bean验证相关类 |
│ ├ log | 日志工具相关类 |
│ ├ mapper | 各种Object到Xml、Object到Json的映射转换类 |
│ ├ persistence | 持久层相关类 |
│ ├ security | 安全相关类 |
│ ├ service | 业务层相关类 |
│ ├ servlet | 公共servlet相关类 |
│ ├ utils | 各种操作小工具类 |
│ └ web | 模型控制器层相关类 |
└ modules | JeeSite内置功能模块存放目录 |
├ act | Activiti工作流引擎目录 |
├ cms | 内容管理、新闻发布模块目录 |
├ gen | Web版本代码生成器目录 |
├ oa | 在线办公模块演示用例存放目录 |
└ sys | 系统核心模块存放目录 |
├ dao | 数据访问层相关类 |
├ entity | 实体相关类 |
├ interceptor | 系统模块拦截器相关类 |
├ service | 业务处相关类 |
├ web | 模型控制器层相关类 |
└ utils | 系统模块的工具类 |
1.2. 资源目录
src/main/resource
act | Activiti工作流引擎相关文件(部署文件、bpmn) |
cache | Ehcache缓存配置存放目录 |
mappings | Mybatis Sql映射文件存放目录 |
jeesite.properties | 系统配置属性文件 |
spring-*.xml | Spring相关文件 |
log4j.properties | Log4j日志配置属性文件 |
1.3. 发布目录
src/main/webapp
static | 静态文件存放目录(JS、CSS、前端插件类库等) |
└ compressor.bat | JavaScrpt和CSS文件压缩脚本 |
userfiles | 用户上传文件目录 |
WEB-INF | WEB应用安全目录,通过映射访问相关文件。 |
├ lib | 依赖jar包目录 |
├ tags | Tags标签存放目录 |
├ views | 视图文件目录 |
│ ├ reportlets | 帆软报表文件存放路径 |
│ ├ resources | 帆软报表配置文件存放目录 |
│ ├ error | 系统异常映射相关页面 |
│ ├ include | 视图相关包含文件 |
│ ├ layouts | 视图布局相关文件 |
│ └ modules | 内置核心功能模块视图相关文件 |
│ ├ act | Activiti模块视图相关文件 |
│ ├ cms | 内容管理模块视图相关文件 |
│ ├ gen | 代码生成模块视图相关文件 |
│ ├ oa | 在线办公模块视图相关文件 |
│ └ sys | 系统管理模块视图相关文件 |
├ ckfinder.xml | CKfinder配置文件 |
├ decorators.xml | Decorator配置文件 |
└ web.xml | Web配置文件 |
1.4. 执行目录
db
db | 数据库相关脚本、模型及执行文件 |
├ act | 各模块数据初始化, Oracle建表脚本,数据初始数据脚本文件。 |
├ cms | |
├ gen | |
├ oa | |
├ sys | |
└ init-db.bat | 初始化数据库执行脚本(需要Maven支持) |
bin
clean.bat | 清理项目生成的文件脚本 |
eclipase.bat | 生成eclipse项目执行脚本 |
package.bat | 生成编译项目文件(war包) |
run-jetty.bat | Jetty服务器运行脚本 |
run-tomcat6.bat | Tomcat6服务器运行脚本 |
run-tomcat7.bat | Tomcat7服务器运行脚本 |
2. jeesite.properties
2.1. 数据源配置
# 数据库驱动,连接设置。
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.username=jeesite
jdbc.password=123456
# 连接池设置,初始大小,最小,最大连接数。
jdbc.pool.init=1
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20
# 测试连接sql语句
jdbc.testSql=SELECT ‘x’ FROM DUAL
2.2. 系统配置
# 配置产品名称,版权日期和版本号
productName=JeeSite Admin
copyrightYear=2014
version=V1.1.1
# 是否是演示模式,如果是,则如下模块,无法进行保存操作
# sys: area/office/user/role/menu/dict, cms: site/category
demoMode=false
# 管理端跟路径
adminPath=/a
# 前端跟路径
frontPath=/f
# 信息发布时的URL后缀,可配置HTML后缀的页面进行缓存
urlSuffix=.html
# 分页大小,默认每页15条
page.pageSize=15
# 硕正组件是否使用Cache(一般开发阶段,关闭Cache)
supcan.useCache=false
# 设置通知间隔访问时间,单位毫秒.
oa.notify.remind.interval=60000
2.3. 框架参数配置
# 设置SESSION超时时间,web.xml里设置无效,单位毫秒.
session.sessionTimeout=120000
session.sessionTimeoutClean=120000
# 缓存设置
ehcache.configFile=cache/ehcache-local.xml
#ehcache.configFile=cache/ehcache-rmi.xml
# 首页地址
web.view.index=/a
# 视图文件配置,前缀和后缀
web.view.prefix=/WEB-INF/views/
web.view.suffix=.jsp
# 最大上传字节数 10M=10*1024*1024(B)=10485760
web.maxUploadSize=10485760
# 设置日志拦截器,拦击的URI,@RequestMapping 值
web.logInterceptExcludeUri=/, /login, /sys/menu/tree, /sys/menu/treeData, /oa/oaNotify/self/count
web.logInterceptIncludeRequestMapping=save, delete, import, updateSort
# 工作流配置
activiti.isSynActivitiIndetity=false
activiti.export.diagram.path=c:/activiti_diagram
#activiti font (windows font: \u5B8B\u4F53 linux font: simsun)
activiti.diagram.activityFontName=\u5B8B\u4F53
activiti.diagram.labelFontName=\u5B8B\u4F53
activiti.form.server.url=http://127.0.0.1:8075/xxxx
3. pom.xml
3.1. 修改项目名称
artifactId:项目名称 version:版本
修改完成后运行eclipse.bat重新生成项目文件。
3.2. 添加jar依赖包
可通过公司maven私服查询相应jar依赖包。
私服地址:http://192.168.11.36:8888/nexus/
如果公司私服上没有相应的依赖jar
- 可联系王震添加依赖jar,
- 将jar文件拷贝项目WEB-INF下的lib目录,并配置pom,例如:
<dependency>
<groupId>com.test</groupId>
<artifactId>test-core</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>
${project.basedir}/src/main/webapp/WEB-INF/lib/test-core-1.0.jar
</systemPath>
</dependency>
3.3. 删除init-db插件
项目初始化完成后,一定要删除或重命名pom里面的init-db插件,防止项目进行中误操作运行了init-db.bat文件,数据库被清空。
4. 数据库设计
模型文件:/ jeesite/db/test/jeesite.erm
业务数据表必须包含以下公共字段:
5. 重要规范
- 类注释:必须包含类功能描述,作者,时间
- 方法注释:除非常容易理解的方法如get、form、save、delete等方法外的方法必须加注释来说明用途,传递参数。
- 按照以上命名结构进行文件分配存放。
- 视图文件名要加模块或功能前缀,例如jsp,代表:工作流任务待办列表,不要写成list.jsp或todoList.jsp或taskTodoList.jsp。
- Sql与定义分离:不在万不得已的情况下不要写在java文件里,分离