上了一天班,放假三天。第一天在公司没有做任何事情,项目经理只是叫我熟悉整个项目,我对于整体也有一定的了解了。在这个过程中,我体现到了实践出真知的道理,还体现到的一点是:所有的项目都是以servlet/jsp作为基础,并且,如果java基础 以及 设计模式学得好的话,对项目中的代码的理解起着非常重要的作用,特别是那些优秀的框架,他们采用了很多的,优秀的算法,及其模式,只有你掌握其中的原理,你才可能体现到他们设计的精妙之处。希望各位都好好的将所有基础打好,路在脚下,路在前方,在这条路上咋们一起前进! 公司的项目没有采用struts,也没有采用spring,也没有采用hibernate。项目是采用的是ibatis,数据库采用的oracle,而web层,是人们公司自己实现的一个框架,但是和汤阳光老师的项目中所采用的是一样的,用.xml来配置service层的类,通过反射机制来来动态加载service类,所有的service都继承自一个超类。而其也模仿的struts中的中央控制器的功能,所有的请求都由该servlet (实现自HttpServlet)处理,而该类根据请求决定要调用那一个service类,此处用到的所有service类的超类来接受,这么充分体现了抽象的好处,真的做到了可扩展性。以后,要定义新的功能模块的时候,只要继承该抽象类就可以了。 他的权限机制是也是通过一个service来实现的,当用户登录的时候,根据用户的id查取出所有的该用户的一级简单项目,显示。然后在根据用户的选择,根据用户ID及其一级菜单项目id就可以查出该一级菜单项下的二级菜单项了。由此实现权限控制。从实现的原理上看来,和spring security差不多。但是如果有很多公用荐呢?该如何处理?这应该是属于粗粒度的权限控制。 同时我在查看该模块时,对sql语句的掌握又进步了: 关于 FROM a,b 和 a LEFT JOIN b 的区别: 例表a aid adate 1 a1 2 a2 3 a3 表b bid bdate 1 b1 2 b2 4 b4
两个表a,b相连接,要取出id相同的字段 select * from a ,b where a.aid = b.bid这是仅取出匹配的数据. 此时的取出的是: 1 a1 b1 2 a2 b2 那么left join 指: select * from a left join b on a.aid = b.bid 首先取出a表中所有数据,然后再加上与a,b匹配的的数据 此时的取出的是: 1 a1 b1 2 a2 b2 3 a3 空字符 同样的也有right join 指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据 此时的取出的是: 1 a1 b1 2 a2 b2 4 空字符 b4
上面的例子可以说是通俗易懂哦!看了就会一目了然!
进入公司的第一个项目模块还没有安排下来,但大致的方向已经说到了. 1.就是对excel文件的上传进行处理,分析其中的数据,然后存储到数据中! 2.如何采用itbais集成jbpm呢?因为之前都是使用的jbpm提供的自身的hibernate,其已经写了实体及其映射文件!
该项目自己的理解有不通的地方,或许是自己掌握不够深入: 1.对上传的处理,现在只支持图片的上传!而如果我现在要上传excel就是改变该类的源码,如果我以后又要上传其它不同类型的数据时,该如处理呢?因为他这儿采用的是直接就存储到数据库中了!我个人感觉不是要在service中来进行处理!不同的上传由不同的serivce进行处理。而只在其中进行数据的包装就可以了,将其封装在context中就可以(抽取出所有可能的使用的共有属性!)
传智播客JAVA培训20100616
最新推荐文章于 2021-03-16 16:31:18 发布
分享了作者在公司的首个项目经历,包括对项目的初步理解、技术选型、权限控制的实现方式及SQL语句的理解等。强调了扎实的基础知识在实际项目中的重要性。
1127

被折叠的 条评论
为什么被折叠?



