meeting会议管理系统项⽬完成总结
项⽬介绍
1.本项⽬是基于JAVAWEB的⼀款会议管理系统,系统实现了会议⼈员管理,和会议预定通知。 整个项⽬其实不难,⼤部分功能是增删查改,和数据渲染,没有太难的业务逻辑。
2.业务流程:
公司员⼯⾃⾏注册成为本系统普通⽤户
⽤户可查看到⾃⼰被通知的会议(详细信息和参会⼈员)
⽤户也可以搜索会议
⽤户可以查看会议室及其状态(是否可⽤)
⽤户可以预约会议,并添加参加⼈员。
如果计划有变,⽤户可以查看,变更,或取消已预定的会议
管理员⽤户由系统⽣成是给定账号密码⽆需注册。
⽤户注册完成后,管理员可以查阅⽤户的注册信息,审批新⽤户,确认是否是合法⽤户。
如果相关部门⼈员变动,管理员可以关停其账号。
管理员可以添加相关的部门信息。
管理员可以添加会议室信息。
3.使⽤技术
- 后端:SSM,JSP
- 插件:pageHelper,MBG,Lombok,fastjson
- 前端:AJAX,JQuery,Vue
学习内容:
SSM整合教程(链接)blog.csdn/qq_28902695/article/details/115609247?
utm_source=app&app_version=4.7.1&code=app_1562916241&uLinkId=usr1mkqgl919blen
jsp用什么前端框架
Mybatis的插件——PageHelper的使⽤流程:
1.引⼊jar包
2.在mybatis的配置⽂件上添加插件,可以设置helperDialect,设置数据库⽅⾔。
3.PageHelper.startPage(pageNum,pageSize) 必须放在查询语句前。
MBG使⽤流程:
1.引⼊jar包,
2.编写⼀个l配置⽂件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-////DTD MyBatis Generator Configuration 1.0//EN"
"/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- targetRuntime="MyBatis3":⽣成mybatis豪华框架,如果是MyBatis3Simple则⽣成简单框架 -->
<context id="DB2Tables"targetRuntime="Mybatis3">
<jdbcConnection driverClass="sql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/db_blog?allowMultiQueries=true"
userId="root"
password="5678">
</jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals"value="false"/>
</javaTypeResolver>
<!-- 指定javabean的⽣成策略
targetPackage:⽬标包名 targetProject:⽬标⼯程-->
<javaModelGenerator targetPackage="batis.bean"targetProject=".\src">
<property name="enableSubPackages"value="true"/>
<property name="trimStrings"value="true"/>
</javaModelGenerator>
<!-- sqlMapGenerator:sql映射⽣成策略: -->
<sqlMapGenerator targetPackage="batis.dao"targetProject=".\conf">
<property name="enableSubPackages"value="true"/>
</sqlMapGenerator>
<!-- javaClientGenerator:指定mapper接⼝所在的位置 -->
<javaClientGenerator type="XMLMAPPER"targetPackage="batis.dao"targetProject=".\src">
<property name="enableSubPackages"value="true"/>
</javaClientGenerator>
<!-- 指定要逆向分析哪些表:根据表要创建javaBean -->
<table tableName="t_blogger"domainObjectName="Blogger"></table>
<table tableName="t_dep"domainObjectName="Department"></table>
</context>
</generatorConfiguration>
需要注意的是 mbg很容易⽣成重复l,报错为
Error creating bean with name 'sqlSessionFactory'
Error parsing Mapper XML
3.根据官⽅⽂档,可写⼀个java⽣成⽅法,根据配置⽂件⽣成相应的规则即可
Lombok: 使⽤注解Data 省去⽣成pojo的get set⽅法
fastjson:我只⽤了JSONString(obj),把java对象转成json字符串 返回浏览器解析。
Jquery:⽤在了前端的元素操作 和ajax请求
Vue:只学了⼀点点,⽤于渲染Json数据。
总结:
⼀个⼩⼩的练⼿项⽬,写了这么多⾏代码?以下总结⼏点项⽬⼼得和问题:
1. java编码规范
命名规范,编码过程中,变量名称写的乱七⼋糟,⽐如由MBG⽣成的java实体类属性名。
1.基本规则:使⽤可以准确说明变量、字段、类、接⼝、包等完整的英⽂描述符;采⽤⼤⼩写混合,提⾼名字的可读性;采⽤该领域的术语;尽量少⽤缩写,但如果⼀定要使⽤,当使⽤公共缩写和习惯缩写等;避免使⽤相似或者仅在⼤⼩写上有区别的名字。
2.包命名:包名⼀律⼩写, 少⽤缩写和长名;采⽤以下规则:
[基本包].[项⽬名].[模块名].[⼦模块名]...
不得将类直接定义在基本包下,所有项⽬中的类、接⼝等都应当定义在各⾃的项⽬和模块包中。
3.类或接⼝命名:类或接⼝名是个⼀名词,采⽤⼤⼩写混合的⽅式,每个单词的⾸字母⼤写。尽量使你的类名简洁⽽富于描述。使⽤完整单词,避免⽤缩写词(除⾮该缩写词被更⼴泛使⽤,像URL,HTML)。
4.变量命名: 采⽤⼤⼩写混合的⽅式,第⼀个单词的⾸字母⼩写,其后单词的⾸字母⼤写;变量名不应以下划线或美元符号开头;尽量避免单个字符的变量名,除⾮是⼀次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们⼀般⽤于整型;c,d,e,它们⼀般⽤于字符型;不采⽤匈⽛利命名法则,对不易清楚识别出该变量类型的变量应使⽤类型名或类型名缩写作其后缀;组件或部件变量使⽤其类型名或类型名缩写作其后缀;集合类型变量,例如数组和⽮量,应采⽤复数命名或使⽤表⽰该集合的名词做后缀。
5.常量命名:全部采⽤⼤写,单词间⽤下划线隔开。
6.⽅法命名:⽅法名是⼀个动词,采⽤⼤⼩写混合的⽅式,第⼀个单词的⾸字母⼩写,其后单词的⾸
字母⼤写;取值类可使⽤get前缀,设值类可使⽤set前缀,判断类可使⽤is(has)前缀。
注释,注释乱写或者不写注释。单⾏注释和多⾏注释混⽤。贴个注释规范
1.单⾏注释(single-line)://注释内容
⼀次只能注释⼀⾏,⼀般是简单注释,⽤来简短描述某个变量或属性,程序块。
2.块注释(block):/注释内容/
为了进⾏多⾏简单注释,⼀般不使⽤。
3.⽂档注释:/**注释内容 */
可以使⽤多⾏,⼀般⽤来对类、接⼝、成员⽅法、成员变量、静态字段、静态⽅法、常量进⾏说明。Javadoc可以⽤它来产⽣代码的⽂档。为了可读性,可以有缩进和格式控制。
还可有@注释的⽅法标明各种作⽤。
java⽂件组织,遵循以下要求:
⽂件组织规则:由于超过2000⾏的程序难以阅读,应该尽量避免出现超过2000⾏的程序。⼀个Java源⽂件都包含⼀个单⼀的公共类或接⼝。若私有类和接⼝与⼀个公共类相关联,可以将它们和公共类放⼊同⼀个源⽂件。公共类必须是这个⽂件中的第⼀个类或接⼝。
⽂件组织顺序:
1.⽂件注释:所有的源⽂件都应该在开头有⼀个注释,其中列出⽂件的版权声明、⽂件名、功能描述以及创建、修改记录:
2.包和引⼊语句:在多数Java源⽂件中,第⼀个⾮注释⾏是包语句。在它之后可以跟导包语句
3.类或接⼝注释:采⽤JavaDoc⽂档注释,在类、接⼝定义之前应当对其进⾏注释,包括类、接⼝的描述、最新修改者、版本号、参考链接等
注:JavaDoc⽂档注释:描述Java的类、接⼝、构造⽅法、⽅法、以及字段。每个⽂档注释都会被置于注释定界符/…*/之中,⼀个注释对应⼀个类、接⼝或成员。该注释应位于声明之前。⽂档注释的第⼀⾏(/)不需缩进,随后的⽂档注释每⾏都缩进1格(使星号纵向对齐)。
4、 类或接⼝的声明
5.类或接⼝的实现注释:如果有关类或接⼝的信息不适合作为“类或接⼝⽂档注释”,可以在类或接⼝的实现注释中给出;
6.类的(静态)变量:⾸先是类的公共变量,随后是保护变量,再后是包⼀级别的变量(没有访问修饰符),最后是私有变量;
7.实例变量:⾸先是公共级别的,随后是保护级别的,再后是包⼀级别的(没有访问修饰符),最后是私有级别的;
8.构造⽅法;
9.普通⽅法:⽅法应该按功能分组,⽽不应该按作⽤域或访问权限进⾏分组。
代码风格
1.缩进:程序块要采⽤缩进风格编写,缩进只使⽤TAB键,不能使⽤空格键(编辑器中请将TAB设置为4格);⽅法体的开始、类的定
义、以及if、for、do、while、switch、case语句中的代码都要采⽤缩进⽅式;
2.对齐:程序块的分界符左⼤括号"{" 和右⼤括号"}"都另起⼀⾏,应各独占⼀⾏并且位于同⼀列,同时与引⽤它们的语句左对齐;对齐
只使⽤TAB键,不使⽤空格键;不允许把多个短语句写在⼀⾏中,即⼀⾏只写⼀条语句;if、for、do、while、case、switch、default等语句⾃占⼀⾏。
3.换⾏:⼀⾏的长度超过80个字符需要换⾏,换⾏规则如下:
在⼀个逗号后⾯断开;
在⼀个操作符前⾯断开;
长表达式要在低优先级操作符处划分新⾏;
新⾏缩进2个TAB。
4.间隔:类、⽅法及相对独⽴的程序块之间、变量说明之后必须加空⾏;关键字之后要留空格, 象if、for、while 等关键字之后应留
⼀个空格再跟左括号"(", 以突出关键字;⽅法名与其左括号"(“之间不要留空格, 以与关键字区别;⼆元操作符如 "
=”、" +=" " >="、" <="、" +"、" *"、" %"、" &&"、" ||"、" <<" ," ^" 等的前后应当加空格;⼀元操作符如" !"、" ~"、" ++"、" --“等前后不加空格;xiang”[ ]"、" ."
这类操作符前后不加空格;for语句中的表达式应该被空格分开;强制转型后应该跟⼀个空格。
2. 使⽤框架的问题
各个框架之间的衔接和整合。
注意多使⽤ Spring 中的aop 和事务
SpringMVC中的请求转发和重定向。业务逻辑的划分。权限设定接⼝。
Mybatis中的动态sql、参数绑定、数据类型、resultMap多表映射。各种插件的使⽤。
3. 业务逻辑划分,代码复⽤
遇见常量时,应当写出来,⽽不是直接把值写⼊⽅法中。
业务逻辑划分的不分明,重复造轮⼦太多,分析需求应当全⾯和清晰。实现功能呢要考虑通⽤性和复⽤性。
重复的代码可⽅法抽取出来,或者写接⼝和抽象类封装规范⼀点,这样便于维护和查阅。
异常处理
4. 项⽬⼼得
在开发过程中,遇到各种各样的问题 如未知bug,配置写错,代码漏写。这些都是粗⼼⼤意出现的错误。
此次项⽬实训,多数时间⽤于在需求分析,设计,bug定位和功能分析,程序的实现和编码其实没有⽤太多时间。可见⼀个程序的重点是设计和分析。熟练了功能需求分析,开发必定事半功倍。
做项⽬中,我感受到了很多,不⽌专业知识的提升、扎实,动⼿的能⼒也增强,还有⾃⾝也收获到了许多,感觉项⽬其实没有想象中的那么不可能,我还能回想起开始做项⽬的时候,感觉⾃⼰就是什么也不会,有⼀种⽆从下⼿的错觉。当我真正的开始去写,发现没有做不到,只有不想做。项⽬虽然看着简单,去做的时候就会发现其实不简单,处理其中的逻辑更是要仔细。
在开发过程中要善于使⽤⼯具,有许多开源的插件能使我们的代码质量,运⾏效率⾼。可以先使⽤⼯具,再探究其底层原理,加深其中原理理解。
另外,各种框架也好,插件也好,旨在提升开发效率和开发规范,说到底都是⼯具。作为⼀个合格的程序员不但要熟练的运⽤⼯具,⽽且必须得学会如何运⽤⼯具去解决问题,这才是开发的核⼼。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论