![](/img/trans.png)
[英]Spring Boot: Autowired CRUDRepository null, in certain classes
[英]Spring Boot Autowired support for CrudRepository
一旦全部建立了JPA实体,Spring Boot CrudRepository
接口似乎对我有很大帮助。 我遇到一种情况,我想根据需要创建这些CrudRepository实例,而不总是基于@ Autowired
注释。 例如,在我的用例中,我有一个GUI菜单,其中将包含域(或引用)表名称的列表。 根据用户的选择,程序将实例化这些CrudRepository实现之一。
如果我使用@Autowired
,那么我不必在代码中以所有可能的已知实现结尾吗?
一个假设的用例:
public interface PublisherRepository extends CrudRepository<Publisher, Long> {
}
public interface AuthorRepository extends CrudRepository<Author, Long> {
}
(我只是意识到我毕竟仍然必须创建这些实体。)
在GUI菜单中,将出现“发布者”,“作者”等,并且我想根据上述存储库界面创建GUI维护组件。 将@Autowired
放在后面还是仅动态创建它们是一个好习惯?
@Autowired
PublisherRepository publisherRepo;
@Autowired
AuthorRepository authorRepo;
如果有创建这些仓库实例的方法,请您教我在Spring Boot中是如何完成的? 非常感谢您提前分享专业知识!
真诚的
学生_t
通常,bean会急切创建,因此@Autowiring未使用的bean不会有问题。 他们将使用内存,并且会消耗一些启动时间。
如果您真的不想自动连线,则可以@Autowire org.springframework.beans.factory.BeanFactory并使用getBean获取所需的存储库。 但这是一个可怕的想法。 这会将您的@Service与Spring联系起来,并且(如果未找到您的存储库)您将(在访问期间)延迟(在访问期间)运行时异常,而不是启动异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.