开发中的困惑

     我是一个刚刚毕业的本科生,毕业之前来北京一家公司实习,毕业之后就留在公司继续深造学习把,在实习的时候有幸开始了开发的工作,说明下我是搞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?我感觉应该是第一种,但是也有可能需要看情况吧,谁能举个例子说下。

        最后就是想要规划一下自己的职业生涯,毕竟自己还年轻,不想糊里糊涂的混下去,同时在工作中如果遇到不顺心的事,比如明明很努力了但上级对自己的工作不认可,付出的与得到的不成正比,还有就是如何与测试人员协调等等吧。 希望大家能给一些建议,在这里感谢大家了。

       总有一天我要做自己想做的事情,旅游,弹吉他,蹦极,坐一次飞机,看海。我相信这一天离我不远了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值