gpt4 book ai didi

java - @Autowired 与 @Autowired 与 Setter

转载 作者:行者123 更新时间:2023-11-29 10:08:59 33 4
gpt4 key购买 nike

我有一个与 Web 插件一起使用的 spring boot 应用程序。

在一节课中我有:

package com.test.company
@Component
@RestController
public class CompanyService {

@Autowired
private MongoTemplate mongoTemplate;

@Autowired
private Environment env;

在另一个类(class)我有:

package com.test.company
@Component
@RestController
public class CustomerSignUpService {

private static MongoTemplate mongoTemplate;

@Autowired
private Environment env;

@Autowired
public void setMongoTemplate(MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}

这两个类都可以工作,但是如果我尝试像在 CompanyService 类中那样将 mongo 注入(inject)到 CusomterSignUpService 类中,则会注入(inject) env很好,但是 mongo 没有注入(inject),如果我尝试使用它,我会得到一个空指针异常。

有什么想法吗? Main 包是 com.test

最佳答案

我相信您的 Controller 可能需要看起来像(从属性中删除了 static):

package com.test.company
@Component
@RestController
public class CustomerSignUpService {

@Autowired
private MongoTemplate mongoTemplate;

@Autowired
private Environment env;

...
...
}

关于java - @Autowired 与 @Autowired 与 Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51755118/

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