【问题标题】:What is the best and most used way of wiring in spring dependency injection [closed]Spring依赖注入中最好和最常用的接线方式是什么[关闭]
【发布时间】:2016-05-08 17:52:52
【问题描述】:

这个问题不是纯编码而是预编码。 实际上,我是冬季春天的新手。我有一个问题是,Spring 依赖注入中最好和最常用的接线方式是什么?我知道基于 xml 的布线现在已经过时了。我在注释和基于 java 的自动装配之间感到困惑。我没有足够的证据来选择正确的。现在最常用的方法是什么?或者我必须全部学习(这在某些时候可能会令人困惑)。

【问题讨论】:

  • 接线选项包括 xml、注解、java 和 groovy。他们都有自己的优势,没有明显的赢家。投票以基于意见的方式结束。
  • ya nathan,他们仍然在赛道上奔跑,还没有碰到红丝带。但我想知道现在如何更进一步?
  • 抱歉,民意调查和人气竞赛在这里是题外话。
  • @Nathan Hughes:你能告诉我这个问题被否决的原因吗?这对你来说可能听起来很愚蠢,但我有这个疑问。如果您不想/不知道给出答案,那么只需忽略,其他人会为“愚蠢”的问题提供答案,因为我的疑问得到了最大程度的消除。
  • 我说的是“题外话”,不是傻。这不是一个愚蠢的问题,这不是本网站处理的问题,因为没有正确的技术答案。随便挑一个,好好学。如果你在面试,没有人会因为你知道的方法与他们的项目使用的方法不同而责怪你。

标签: java spring spring-mvc


【解决方案1】:

自动装配与创建该类型的对象没什么两样。

@Autowired
Person person;

这里自动创建一个person类型的对象,就像EJB一样

@EJB
EntityManager em;

您可以通过构造函数调用或使用setter getter方法来完成依赖注入。

public class Person{
  private String userName;
  private String email;
  //constructor invoking
  public Person(String userName,String email){
      this.userName= userName;
      this.email = email;
  }

  //setter and getter based 
  public String getUserName(){
     return userName;
  }
  public String getEmail(){
     return email;
  }
  public void setUserName(String userName){
     this.userName = userName;
  }

  public void setEmail(String email){
     this.email = email;
  }
}

这完全取决于您在哪种类型的依赖注入中适合您的问题。 您可以read it 以获得更好的解释。

【讨论】:

    【解决方案2】:

    我会说,在大多数情况下,您不需要基于 Java 的自动连接(我假设您在这里指的是基于 Java 的配置)。 但是,当您需要以编程方式定位 bean 并使用上下文对象时,它们将是特定情况。 首先,您可以使用自动连接,直到您更好地了解 Spring 框架的生命周期。

    【讨论】:

    • 毋庸置疑,这两种方式最终达到了相同的目的。
    猜你喜欢
    • 1970-01-01
    • 2021-02-24
    • 2015-10-19
    • 2018-02-18
    • 2010-12-05
    • 1970-01-01
    • 2012-01-30
    • 2011-06-29
    • 1970-01-01
    相关资源
    最近更新 更多