Spring bean未被注入Vaadin视图[重复]

wz3gfoph  于 2023-02-04  发布在  Spring
关注(0)|答案(1)|浏览(89)
    • 此问题在此处已有答案**:

@Autowired bean在另一个bean的构造函数中引用时为空(3个答案)
昨天关门了。
我已经下载了一个Vaadin流启动器,并尝试使用它,但由于某种原因,豆类没有被注入:

@PageTitle("About")
@Route(value = "about", layout = MainLayout.class)
public class AboutView extends VerticalLayout {
    
    @Autowired
    private UserService userService;
    
    public AboutView() {
        ...
    }
}

userService保持为空。
我仍然可以通过构造函数传递bean:

@PageTitle("About")
@Route(value = "about", layout = MainLayout.class)
public class AboutView extends VerticalLayout {
    public AboutView(UserService userService) {
        ...
    } 
}

但并不总是那么方便。
我在同一个项目中创建了一个REST服务,即使没有注解,注入也能很好地工作:

@RestController
@AllArgsConstructor
@RequestMapping("user")
public class UserController {

    private UserService userService;    
    ...
}

Vaadin Flow有什么问题?我使用的是Vaadin Flow 24.0.0.alpha8,SpringBoot 3.0.1和Java 19。
顺便说一下,我也尝试了Vaadin CDI与PayraMicro和有同样的问题。@EJB和@Inject注解不工作。

cqoc49vn

cqoc49vn1#

字段注入发生在构造函数运行之后。使用带注解的@PostConstruct方法访问字段

相关问题