我的pom.xml中有javax.inject,会自动弹出吗?

Bla*_*man 6 java spring dependency-injection maven

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

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

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

我也在pom中看过slf4j,没有在代码或xml中进一步设置.

这是如何工作的,spring检查lib的文件夹,如果找到任何可覆盖的lib,它会这样做吗?

Ara*_*d A 10

你的pom对javax.inject的依赖

   <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

与Spring无关.它只是将javax.inject依赖项引入项目中.一个名为javax.inject-1.jar的jar.如果您使用Spring支持的@Inject注释,则需要此jar.

您可以根据需要使用@Autowired/@ Resource/@Inject.请看这里的差异,并讨论Spring Framework中@Inject和@Autowired之间的区别是什么?在什么条件下使用哪一个?.

至于slf4j,它只是对log4j这样的框架的抽象,允许运行时插入日志框架.Spring-OSGI,Hibernate都在内部使用它.所以这就是你在pom中找到依赖的原因.希望这可以解决问题.