我是一个刚刚毕业的本科生,毕业之前来北京一家公司实习,毕业之后就留在公司继续深造学习把,在实习的时候有幸开始了开发的工作,说明下我是搞Java web应用的,现在项目的开发已经接近尾声了,从这个项目中我也学习到了很多的开发经验和知识,但是在最后我还是有一些不解的东西请教,希望有经验的人能够帮助我解答这些困惑,让一个小程序员能够在思想上有些进步。
我的第一个疑惑就是如何控制Java spring 对于类的注入问题,简单的说就是在那一层注入,我现在开发的这个项目给我的感觉就是非常的乱,在Action里面注入了很多的Service,同时在service中又注入了很多的DAO,打开一个类文件满眼都是注入的标注@xxx,给我的感觉很不好,感觉十分的乱,而且这么错中复杂的注入方式对于以后的维护以及项目的管理上会不会带来一些不好的影响?(会么?求分析,到底应该怎么去注入)。
第二个疑惑就是逻辑应该写到哪的问题,这样说可能大多数人都会说当然是写到service中了,而且service还管理着对事物的控制功能。可是我就遇到过这种情况一条语句中同时对两个表进行更改,需要加上事物,但是由于我们的项目需要将数据同步到别的数据库中就要将标识位重新置位,让同步服务知道这个数据发生了变化,而且这个同步标志的标志位是动态的,简单的说就是根据某个表中某条数据生成或删除的,没法在更改这条数据的同时去更改它,或者说是可以但是由于某种原因必须要通过另一个操作对它进行更改,于是这四条执行的语句就发生了冲突,对于hibernate叫做事务性死锁吧,迫不得已将事物干掉了,我想问有没有什么更好的解决办法呢?
第三个就是Action,service,dao这三个类中究竟该写些什么内容?给我的感觉是Action就是数据的转发者,从前台接受数据,将数据处理封装发给service,service写逻辑,再调用dao的执行语句方法得到数据,整理处理返回给Action。这看起来是很简单的一个问题,可是如果对于一次请求获取多条数据呢?这个似乎就有点不好解释了,因为一个方法返回的只能是一个对象,集合或是类,即使返回的是集合集合中的元素大多数也应该都是一种类型的,而且总不能一次返回一个Map,Map中放着各种类型的数据吧,总感觉这样怪怪的。在写这条问题时突然想到这中情况都发生在对数据的查询方面,那是不是应该这样:Action将数据整理、分类,将调用不同的Service的方法,将数据一一的查询出来,再返回个页面?如果是这样的话又有一个问题我现在有数据A,想要得到数据C,但是通过A想要的到数据C必须先通过A得到B,再通过B得到C,这种情况的话得B的逻辑应该写到哪呢?是在Action中通过A的到B的方法,再调用service中通过B得到C的方法还是应该将数据传个service,然后service调用Dao得到B,再在方法体中调用Dao得到C,然后返回给Action?我感觉应该是第一种,但是也有可能需要看情况吧,谁能举个例子说下。
最后就是想要规划一下自己的职业生涯,毕竟自己还年轻,不想糊里糊涂的混下去,同时在工作中如果遇到不顺心的事,比如明明很努力了但上级对自己的工作不认可,付出的与得到的不成正比,还有就是如何与测试人员协调等等吧。
希望大家能给一些建议,在这里感谢大家了。
总有一天我要做自己想做的事情,旅游,弹吉他,蹦极,坐一次飞机,看海。我相信这一天离我不远了。
分享到:
相关推荐
困惑度是一种常用的评估语言模型好坏的指标,通常在自然语言处理中使用。该资源提供了详细的Python代码,用于计算LDA语言模型的困惑度,并将其与不同主题数量的模型进行比较。 知识点一:困惑度的定义和计算 困惑...
【物业管理中的四个困惑】 物业管理作为现代城市生活的重要组成部分,它涉及到居民日常生活中的诸多方面,包括设施维护、环境管理、安全防护等。随着社会的发展,物业管理行业逐渐规范化,服务质量不断提升,但也...
《困惑的浪漫》是高志鹏先生的一部经典著作,主要聚焦于WINHEX这款强大的十六进制编辑器的高级专题。这本书不仅深入探讨了WINHEX的基本功能,还涵盖了其在数据恢复、取证分析、硬盘修复等领域的高级应用,为读者提供...
本文将从 Python 在前端开发的实践、开发困惑、前端技术演进、单页面应用模型、前端框架等方面对 Python 在前端开发的技术点进行详细的解读。 一、Python 在前端开发的实践 Python 可以用来开发前端应用,例如使用...
Java开发接口帮助文档是开发者在进行Java编程时的重要参考资料,它包含了JDK中的类库、接口、类与类之间的继承关系...掌握并善用这份文档,能够提高开发效率,减少编程过程中的困惑,从而提升整个项目的质量和可靠性。
中国敏捷软件开发联盟通过采集和总结这些成功案例,旨在推动敏捷在国内企业中的深入理解和实践,同时解决国内企业在向敏捷转型过程中遇到的问题和困惑。通过定期的大会、研讨会、培训以及发布的专业资料,联盟正在...
在开发过程中,小图标起着至关重要的作用,它们不仅可以提升应用程序的美观度,还能帮助用户快速识别和理解功能。这些小图标通常是矢量图形,能够适应各种尺寸而不失真,确保在不同设备和分辨率上都能呈现出清晰的...
本文总结了C++开发中的常用技术,并对开发中经常遇到的困惑问题给出了详细解答。涵盖了Visual C++开发工具与调试技巧的整理,包括如何在Release状态下进行调试、Release和Debug的区别、ASSERT和VERIFY的区别、...
【刘运新新课程高中数学教学中问题困惑分析与解决建议】 在高中数学新课程的实施过程中,教师和学生都面临着一系列的挑战和困惑。这些困惑主要体现在以下几个方面: 1. **新课程与教材体系的问题**: - **知识...
HTML5在游戏开发中的应用,不仅推动了网页游戏的发展,也极大地丰富了互联网上的互动体验。HTML5之所以能在游戏开发领域崭露头角,主要得益于其一系列强大的特性,包括Canvas、Audio/Video、WebSockets、WebWorkers...
本书力图做到传递经过组织的、可操作的软件开发经验,使软件开发领域的新手在知识(软件开发思想)积累过程中少走弯路,也使软件开发领域的老手可以对照自己的经验把可能的困惑降到最低。有一些有趣例子为那些有价值...
教师在课程资源开发中可能过于追求新颖,导致教材的地位被弱化,情境设置过于形式化,联系实际变得空洞,信息处理过于程式化。 教师角色的转换是一个重要的方面,但在实践中可能出现失衡。过度强调学生的自主性和...
然而,在实际教学过程中,存在一系列的困惑和挑战。 首先,【认识偏差】是通用技术教学面临的主要问题之一。很多人认为这门课程不被高考重视,因此学起来无用,导致学生、家长乃至学校对通用技术课的重视程度不够。...
### HTML5 在游戏开发中的应用 #### 一、HTML5技术背景及发展历程 HTML5作为第五代超文本标记语言的标准,不仅在网页布局和结构上提供了更多灵活性,更重要的是引入了一系列新的API和技术,使得Web应用的功能更加...
本手册聚焦于Java开发者在实际开发过程中可能遇到的问题和困惑,对Java编程中常见的规约、异常日志处理、单元测试、安全、数据库使用、工程结构、设计等方面做了细致的规定。 本手册的一个重要特点是其内容的系统性...
《人力资源管理信息化建设过程中的困惑与思考》 随着信息化时代的到来,人力资源管理的现代化已成为企业发展的重要议题。然而,在实践过程中,许多单位在人力资源管理信息化建设中遇到了诸多困扰,导致项目进展不顺...
在软件开发过程中,图标起着至关重要的作用。它们不仅能够美化界面,还能够直观地向用户传达各种功能和状态信息。"软件开发常用图标大全"集合了大量的图标资源,旨在为开发者提供一个便捷的一站式解决方案,减少寻找...
这些术语可能会让初学者感到困惑,但理解它们的含义和作用是掌握JavaME开发的基础。 环境配置是开始JavaME开发的第二步。开发者通常会在个人电脑上建立开发环境,使用JDK(Java Development Kit)来编译Java代码,...