继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

autowired members must be defined in valid spring bean

哈士奇WWW
关注TA
已关注
手记 556
粉丝 72
获赞 404
Spring 中的自动注入

在 Spring 框架中,自动注入是一种重要的编程技巧,可以帮助程序员们更轻松地管理对象的实例。通过使用 Spring 的 @Autowired 注解,我们可以定义依赖关系,使对象在运行时自动注入到当前对象中。但是,在实际应用中,我们经常会遇到一个问题,那就是如何在定义好成员变量后,让 Spring 自动注入这些成员变量。这时候,我们可以使用 Spring 的构造函数或构造函数函数来完成这个任务。

Spring 的构造函数或构造函数函数

在 Spring 的构造函数或构造函数函数中,我们可以使用 @Autowired 注解来自动注入成员变量。这样一来,我们就可以专注于定义业务逻辑,而不用过多关注对象的实例化过程。

@Service
public class MyService {

    private final MyRepository repository;

    @Autowired
    public MyService(MyRepository repository) {
        this.repository = repository;
    }

    public List<Object> getAll() {
        return repository.findAll();
    }
}

在上面的代码中,我们定义了一个 MyService 类,并在其中声明了一个成员变量 repository。为了在运行时自动注入 MyRepository 类,我们在构造函数中使用了 @Autowired 注解。

使用 Spring 的构造函数或构造函数函数来自动注入成员变量是一个很好的实践,可以帮助我们提高代码的可读性和维护性。当然,在实际应用中,我们还应该注重构造函数或构造函数函数的编写,以确保代码的正确性。

成员变量的定义

在 Spring 的构造函数或构造函数函数中,我们可以使用 @Autowired 注解来自动注入成员变量。但是,在定义成员变量之前,我们需要先定义一个成员变量的定义。

@Service
public class MyService {

    private final MyRepository repository;
    private final List<Object> objects = new ArrayList<>();

    @Autowired
    public MyService(MyRepository repository) {
        this.repository = repository;
    }

    public void addObject(Object object) {
        objects.add(object);
    }

    public List<Object> getAll() {
        return objects;
    }
}

在上面的代码中,我们定义了一个 MyService 类,并在其中声明了两个成员变量 repositoryobjects

使用 Spring 的构造函数或构造函数函数来自动注入成员变量是一个很好的实践,可以帮助我们提高代码的可读性和维护性。当然,在实际应用中,我们还应该注重构造函数或构造函数函数的编写,以确保代码的正确性。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP