gpt4 book ai didi

java - 外部 Jar 内的依赖注入(inject)

转载 作者:行者123 更新时间:2023-11-30 06:17:28 25 4
gpt4 key购买 nike

我在外部 Jar 内进行依赖注入(inject)时遇到问题。结果始终为空。我使用的是spring框架和java8。

我的主要有以下代码:

package com.a.1

@SpringBootApplication
@ComponentScan(basePackages = {"com.b.2"})
@Configuration
public class Main{ ... }

我有一个调用库的测试

package com.a.1.test

public class test {

RequestMethod requestMethod = new RequestMethod();
requestMethod.method();

此RequestMethod位于库(其他Jar)中:

package com.b.2

public class RequestMethod {

@Autowired
private Headers header;

public String method(){
...
}
}

类 Headers 具有注释 @Service。结果始终为空。

package com.b.2

@Service
public class Headers{
...
}

问题是 headers 没有被注入(inject)到 RequestMethod 中。有人可以解释一下我如何准备 Spring 项目来注入(inject)这种依赖吗?

非常感谢您

最佳答案

  1. RequestMethod 应该有一个@Service-Annotation。

     package com.b.2

    @Service
    public class RequestMethod {

    @Autowired
    private Headers header;

    public String method(){
    ...
    }
    }
  2. 在测试类中,RequestMethod 应该是Autowired

    package com.a.1.test

    public class test {

    @Autowired
    RequestMethod requestMethod;
  3. 您的测试应该是 Spring 测试

    package com.a.1.test

    @SpringBootTest
    public class test {

    @Autowired
    RequestMethod requestMethod;

    @Test
    public void test(){
    requestMethod.method();
    }

    }

关于java - 外部 Jar 内的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48906934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com