首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的pom.xml中有javax.inject,spring会自动使用它吗?

我的pom.xml中有javax.inject,spring会自动使用它吗?
EN

Stack Overflow用户
提问于 2012-01-05 12:13:09
回答 3查看 12.9K关注 0票数 6

我在网上浏览spring mvc教程时复制了一个pom.xml,它有:

代码语言:javascript
复制
        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

据我所知,spring有自己的依赖注入内置,这会覆盖默认设置并使用javax.inject吗?

我还在pom中看到了slf4j,没有在代码或xml中进行进一步的设置。

这是如何在幕后工作的,spring会检查lib的文件夹,如果发现任何可重写的lib,它就会这样做?

EN

回答 3

Stack Overflow用户

发布于 2012-01-05 13:14:16

javax.inject的pom中的依赖项

代码语言:javascript
复制
   <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
    </dependency>

与Spring无关。一个名为javax.inject-1.jar的jar。

您可以根据需要使用@Autowired/@Resource/@Inject。请参阅here了解它们的不同之处,也可以在What is the difference between @Inject and @Autowired in Spring Framework? Which one to use under what condition?上进行讨论。

Spring-OSGI,Hibernate都在内部使用它。这就是为什么你会在你的pom中找到依赖的原因。希望这能把事情说清楚。

票数 10
EN

Stack Overflow用户

发布于 2012-01-05 13:19:18

inject使JSR 330支持弹跳。使用inject注解使得应用程序不再依赖于spring -它可以切换到JavaEE6或guice或其他支持该规范的提供者。

票数 3
EN

Stack Overflow用户

发布于 2012-01-05 13:53:26

正如@Aravind告诉javax.inject的那样,依赖与spring无关。它用于获取批注@Inject,它是Java CDI标准的一部分,在Java EE 6 (JSR-299)中引入。

Spring使用@Inject作为自己的@Autowired注释的同义词。

@Autowired@Inject这两个批注的工作方式与Spring相同,除了它们自己的批注之外,Spring还决定支持一些JSR-299批注。

谈到Simple Logging Facade for Java (SLF4J):

简单日志Facade for Java or (SLF4J)作为各种日志框架(例如java.util.logging、log4j和logback )的简单外观或抽象,允许最终用户在部署时插入所需的日志框架。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8737551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档