无法自动连线现场Spring Boot

需要一些帮助,我刚刚开始学习Spring,似乎无法弄清楚我们的错:

Application.java-没有包

@Configuration

//@ComponentScan({"com.mapping","com.accesors","com.controllers"}) --Originaly tried this

@ComponentScan(basePackageClasses={UserDAO.class,Root.class,User.class})

@EnableAutoConfiguration

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class, args);

}

}

User.java-包com.mapping

@Entity

public class User {

@Id

@GeneratedValue

private Long id;

private String userName;

private String password;

//accesors

}

UserDAO.java-包com.accesors

@Repository

public interface UserDAO extends JpaRepository<User, Long> {

}

Root.java-包com.controllers

@Controller

@RequestMapping("/*")

public class Root {

@Autowired

UserDAO userDAO;

@RequestMapping("/")

@ResponseBody

public String rootAction(@RequestParam(defaultValue="foo") String name){

List<User> lst = this.userDAO.findAll();

for(User u : lst){

System.out.println(u);

}

return "hello, " + name;

}

}

当我运行项目时,我似乎得到了以下启示

堆栈跟踪:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'root': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.accesors.UserDAO com.controllers.Root.userDAO; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.accesors.UserDAO] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)

at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)

at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)

at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)

at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)

at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)

at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:120)

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:320)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:952)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:941)

at demo.Application.main(Application.java:14)

据我了解,这意味着@ComponentScan没有检测到软件包

回答:

如果您的Spring

Data存储库不在@EnableAutoConfiguration该类的子包中,那么您需要添加@EnableJpaRepositories@EntityScan如果实体不在子包中,则添加同上)。

以上是 无法自动连线现场Spring Boot 的全部内容, 来源链接: utcz.com/qa/403814.html

回到顶部