我需要獲取 OwnerService 的一個實體,因為在 Dataloader 類中我將一些資料加載到該實體中,而在 OwnerController 類中我必須獲取加載的資料。但是在 OwnerController 中沒有資料。我列印出實體并收到不同的實體 ID
資料加載器類
public class DataLoader implements CommandLineRunner {
private final OwnerService ownerService;
public DataLoader() {
ownerService = new OwnerServiceMap();
}
@Override
public void run(String... args) throws Exception {
System.out.println(ownerService);
}
}
@RequestMapping("/owners")
@Controller
public class OwnerController {
private final OwnerService ownerService;
public OwnerController(OwnerService ownerService) {
this.ownerService = ownerService;
}
@GetMapping({"", "/", "/index"})
public String ownersIndex(Model model) {
System.out.println(ownerService);
model.addAttribute("owners", ownerService.findAll());
return "owners/index";
}
}
我需要幾個注入類中的一個 Bean 實體。
uj5u.com熱心網友回復:
在你的課堂DataLoader上,你沒有注射OwnerService。相反,建構式直接創建了一個類的實體OwnerServiceMap(大概是一個實作了介面的類OwnerService):
public DataLoader() {
ownerService = new OwnerServiceMap();
}
相反,將其注入DataLoader中,方式與您在 中所做的完全相同OwnerController:
public DataLoader(OwnerService ownerService) {
this.ownerService = ownerService;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/447681.html
下一篇:在WSL2(Ubuntu發行版)和Windows上的Spring應用程式上運行KafkaConfluent平臺(Broker可能不可用)
