当前位置: 首页 > 知识库问答 >
问题:

Spring Boot@Autowired不工作,不同包中的类

赵经国
2023-03-14

org.springframework.beans.factory.beanCreationException:创建名为“birthday controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beanCreationException:无法自动连接字段:private com.esri.birthdays.dao.birthdayrepository com.esri.birthdays.controller.birthdaycontroller.repository;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项的[com.esri.birthdays.dao.birthdayRepository]类型的合格bean:至少需要一个合格的bean作为此依赖项的自动候选项。依赖项注释:{@org.springframework.beans.factory.annotation.AutoWired(required=true)}(位于org.springframework.beans.factor.java:334)~[spring-beans-4.2.4.release.jar:4.2.4.release](位于org.springframework.beans.factor.java:334)~[spring-beans-4.2.4.release.jar:4.2.4.release](位于4.2.4.在或

下面是我的Repository类的代码

package com.esri.birthdays.dao;
import com.esri.birthdays.model.BirthDay;
public interface BirthdayRepository extends MongoRepository<BirthDay,String> {
    public BirthDay findByFirstName(String firstName);
}

下面是控制器。

package com.esri.birthdays.controller;
@RestController
public class BirthdayController {

    @Autowired
    private BirthdayRepository repository;

如果它们在相同的包中,则有效。不知道为什么

共有1个答案

易元青
2023-03-14

当您在for example包中使用@SpringBootApplication注释时

com.company.config

它会自动使组件扫描如下所示:

@ComponentScan("com.company.config") 
@SpringBootApplication(scanBasePackages = { "com.company" })
@SpringBootApplication
@ComponentScan("com.company")
 类似资料:
  • 我正在学习Spring Boot来构建应用程序。我试图用不同包中的控制器作为应用程序来构建我的第一个Spring Boot应用程序。Tomcat实例出现,但请求没有到达为URI注册的RestController。 以下是控制器类: 以下是应用程序类: Pom.xml tomcat启动时的日志: 我添加了基本包扫描,甚至尝试了注释,但当我点击URL(http://localhost:8080/abc

  • 我一定错过了一些简单的东西,但是我很难将Autowired属性分配给bean。这里贴出的所有类似答案似乎都围绕着三种解决方案之一: null 我试图制作一个最简的bean来表示我的DAO并将其注入到Web服务中。 DAO接口: DAO实现: 我错过了什么?

  • 我有一个Springboot应用程序,我的实体模型与作为依赖项包含的主应用程序分开。 我的Application.java位于此包中 我的实体模型位于这个包com.a.b中的另一个项目中 但是我得到一个错误:由:java.lang.IllegalArgumentException:不是托管类型:类引起

  • 我在GWT+Spring Boot中创建了一个应用程序,当我尝试使用-时,我得到。显然不起作用,没有将bean插入正确的位置。我怎样才能解决这种情况? 分派传入RPC调用时发生异常 ExpectiontedException:服务方法“public abstract java.util.list com.mygwt.springbootapp.client.userservice.list()”引

  • 我问了一个类似的问题,以为得到了回答。然而,昨天它停止工作,所以我要再问一遍,但我的修改类。我希望这是正确的协议.... 我有一个spring启动网站,它在启动时抛出一个空指针,因为其中一个类没有自动连线。以下是我的设置: 在子包中,我有:package com.company.product.configuration@configuration@componentScan()public cl

  • 我已经将spring boot嵌入式tomcat服务器中的保持活动超时设置为30秒。因此,我在应用程序中使用下面的内容。JAVA 然后我从我的Rest控制器Hibernate一个请求线程40秒。但是当我通过postman发出请求时,它成功返回HTTP状态代码200,而不是返回网关超时错误。 我尝试setConnectionTimeout和setKeepAliveTimeout,但它不起作用。 我错