`
romi0913
  • 浏览: 801 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

关于spring对象使用的讨论

阅读更多
    我在开发过程中,出现这样一个争论:
     前提,系统分为service和dao两层,使用spring管理所有对象,dao一般是通过配置文件注入到service中,service中也可以直接从spring容器中获取任何对象。
     如果在一个servic中要实现一个复杂的业务,这个业务分为两部分操作,其中第一部分是一个整体的事务,第二部分是一个直接的对dao的调用,并且第二部分在其他service中已经实现。
     举例:有一个部门操作的service,其中一个操作为删除部门和该部门下的所有人。这个业务就分为两部分,第一部分是删除人员,该部分在一个人员管理的service中有实现接口,实现方式删除人员的同时删除人员的权限并备份人员信息;第二部分是调用dao直接删除部门。
     我们争论的焦点在于,在部门Service里删除部门的方法中第一部分是应该调用人员Service中已经实现的接口,还是应该去注入人员dao,自己实现删除人员的每一步操作。

     希望大家能积极参与讨论!!!
分享到:
评论
4 楼 Rager 2011-04-15  
15210494746 写道
看方法的难以程序吧,如果直接调用service的花,数据库方面的开销是否相对大一点?
事物处理的整个过程是否会出现问题?
这个是需要考虑的!
如果你这个动作是想确保事务没有问题的话,还是建议使用dao去实现!
基本没遇到过这样的问题,复用 和 事务的完整  应该考虑下。
另外 在一个事务中,提交一个事务。会不会影响当前事务的提交?
这个也是个疑问!
如果想复用,而这2个动作又没有事务要求的话。建议在col层复用!

赞成,这肯定要根据你实际的实现上考虑能不能服复用的了,单纯的说选择哪一个好,还真不好说,当然写自己手动实现dao肯定没有问题,毕竟这dao的实现是你能控制的,人员service,人员dao...看的蛋痛..
3 楼 LoriSun 2011-04-15  
1,可以把一些公用的操作逻辑(例如你的删除部门和部门内人员)提取出来放和service同层,例如叫CommonService,在其他service中使用commonService中的同一个操作。
2,也可以把这些公用的函数写在抽象类中,你那些Service继承这个类。
2 楼 15210494746 2011-04-15  
看方法的难以程序吧,如果直接调用service的花,数据库方面的开销是否相对大一点?
事物处理的整个过程是否会出现问题?
这个是需要考虑的!
如果你这个动作是想确保事务没有问题的话,还是建议使用dao去实现!
基本没遇到过这样的问题,复用 和 事务的完整  应该考虑下。
另外 在一个事务中,提交一个事务。会不会影响当前事务的提交?
这个也是个疑问!
如果想复用,而这2个动作又没有事务要求的话。建议在col层复用!
1 楼 finallygo 2011-04-15  
能复用的话,当然是调用Service

相关推荐

    spring 与 spring mvc 整合 配置讨论

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Spring MVC是Spring框架的一个重要模块,用于构建Web应用程序。本文将深入探讨Spring与Spring MVC的整合配置,并结合标签"源码"和"工具"来解析相关的技术细节...

    SpringTest_springtest_spring_java_Framework_

    "SpringTest_springtest_spring_java_Framework_"这个标题暗示了我们讨论的是关于Spring框架的测试方面,可能是使用Spring进行单元测试或集成测试的一些实践。 描述中的“简单小应用,实现了一些基本的功能”可能是...

    spring-cglib-repack-3.2.5.jar和spring-objenesis-repack-2.6.jar

    在Spring框架中,Objenesis主要用于测试场景,特别是当Spring需要在没有使用静态工厂方法或构造器的情况下快速实例化一个对象时。Objenesis可以避开JVM的常规初始化过程,从而提高对象的创建速度。2.6是Objenesis的...

    Beginning Spring(2015)

    这一章为读者提供了关于未来版本的一些洞察,帮助他们了解Spring框架的演进方向。 通过上述章节的详细介绍,《Beginning Spring》这本书为初学者提供了全面而深入的Spring框架学习指南,不仅覆盖了Spring的基本概念...

    spring Configurable注解用法

    接下来,我们将讨论如何在Spring Boot项目中使用`@Configurable`。首先,你需要在`pom.xml`或`build.gradle`文件中添加AspectJ的依赖,以便引入必要的编译和运行时库。然后,需要在Spring Boot的主配置类上启用...

    Spring技术内幕:深入解析Spring架构与设计原理

    本书还将讨论Spring Security,这是一个强大的安全框架,用于保护Spring应用程序免受各种安全威胁。读者将了解到如何配置和使用Spring Security进行认证和授权。 最后,书中可能包含一些高级话题,如Spring Cloud,...

    Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf

    这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...

    Java Spring代理模式AOP-IOC分析

    Java Spring代理模式AOP-IOC分析 一、代理模式概述 在软件设计中,代理模式是一种常用的设计模式。...本文对Java Spring代理模式AOP-IOC进行了分析和讨论,并提供了一个示例项目来演示如何使用Spring实现AOP和IOC。

    Spring 使用163发邮件带附件

    压缩文件名"Spring08MailSpring2"可能表示这是一个关于Spring邮件发送的系列教程的第八部分,或者可能是某个特定版本的示例代码。如果文件中包含源码,你可以期待找到一个完整的配置示例,以及如何创建和发送带附件...

    prospring-pdf

    《Pro Spring PDF》对于理解Spring框架的完整生态具有极高价值,不仅覆盖了核心的框架组件,还讨论了Spring与其他流行技术的集成,如Spring Boot、Spring Data和Spring Security。这些内容可以帮助开发者构建复杂的...

    spring-note spring 读书笔记

    `spring_dao.txt`可能会讨论这些模板类的用法,包括如何执行SQL查询、事务管理等。 4. **Spring与Hibernate的集成**: Spring通过HibernateTemplate和HibernateDaoSupport简化了Hibernate的使用。`spring集成...

    spring_springweb_

    标题中的"spring_springweb_"暗示了我们正在讨论Spring框架的一个特定部分,即Spring Web模块。Spring Web是Spring框架的核心部分之一,它提供了构建Web应用程序的基础。它包括Servlet监听器、DispatcherServlet、...

    spring技术内幕第2版深入解析spring架构与设计原理

    但可以明确的是,《Spring技术内幕第2版》这本书必定会围绕Spring框架的设计哲学、组件结构、架构模式以及最佳实践等方面展开深入讨论,旨在帮助开发者不仅了解如何使用Spring框架,还能够理解其背后的原理和设计...

    spring学习资料大全

    Spring框架是Java开发中的核心组件,它为应用程序提供了一个全面的基础设施,支持bean管理、依赖...此外,学习过程中还应关注Spring社区的最新动态,参与讨论,解决实际遇到的问题,不断提升对Spring的理解和使用技巧。

    跟我学spring

    7.1节概述Spring对JDBC的支持,7.2节介绍JDBC模板类,7.3节讨论关系数据库操作对象化的方法,7.4节和7.5节介绍Spring提供的其他帮助和集成Spring JDBC及最佳实践。 【第八章】对ORM(对象关系映射)的支持。ORM框架...

    spring3.0,ssh

    标题中的"spring3.0,ssh"表明我们将讨论Spring框架的第三个主要版本(Spring 3.0)以及SSH(Struts、Spring、Hibernate)这三种技术的集成。SSH是Java Web开发中常用的三大开源框架,它们协同工作以构建高效、模块化...

    41. Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】

    当我们说“创建Bean”,实际上是在讨论Spring IoC(控制反转)的概念。IoC允许Spring管理我们的对象生命周期,包括创建、初始化、装配和销毁。Spring通过Bean工厂和ApplicationContext来实现这一功能。 在Java代码...

    Spring3.2(Spring-Framework-Reference 3.2)

    而在“Maven Dependency Management”和“Ivy Dependency Management”中,分别讨论了使用Maven和Ivy作为依赖管理工具时如何处理Spring依赖。 在日志处理方面,Spring3.2支持多种日志框架,例如Commons Logging、...

    Spring in Action 第四版英文原版+源码

    《Spring in Action》第四版是关于Spring框架的一本权威指南,由Manning出版社出版。这本书深入浅出地介绍了如何使用Spring框架构建强大的Java应用程序。英文原版提供了最原始的作者见解和技术细节,对于想要深入...

    spring-framework-reference

    《Spring框架参考手册》是Spring框架的官方文档,为开发者提供了关于Spring框架各个方面的详细信息。Spring框架是一个开源的Java平台,它为现代基于Java的企业应用程序开发提供全面的编程和配置模型。Spring框架包含...

Global site tag (gtag.js) - Google Analytics