Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法自动连线现场弹簧启动_Java_Spring_Spring Mvc_Spring Boot_Spring Tool Suite - Fatal编程技术网

Java 无法自动连线现场弹簧启动

Java 无法自动连线现场弹簧启动,java,spring,spring-mvc,spring-boot,spring-tool-suite,Java,Spring,Spring Mvc,Spring Boot,Spring Tool Suite,需要一些帮助,我才刚开始学习Spring,似乎无法找出我们的错误: Application.java-无包 @Configuration //@ComponentScan({"com.mapping","com.accesors","com.controllers"}) --Originaly tried this @ComponentScan(basePackageClasses={UserDAO.class,Root.class,User.class}) @EnableAutoConfigu

需要一些帮助,我才刚开始学习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-package com.accesors

@Repository
public interface UserDAO extends JpaRepository<User, Long> {

}

据我所知,这意味着@ComponentScan没有检测到包

如果您的Spring数据存储库不在
@EnableAutoConfiguration
类的子包中,那么您需要添加
@EnableJpaRepositories
(如果实体不在子包中,则与
@EntityScan
相同).

如果您正在使用springRunner测试您的springboot应用程序,请不要忘记包含ComponentScan注释

@RunWith(SpringRunner.class)    
@SpringBootTest (classes = YourRestController.class )    
@ComponentScan({"your package goes here"})    
@AutoConfigureMockMvc    
@ActiveProfiles("development")    
public class Foo{
}

那么是什么实现了
UserDao
?@Makoto没什么,这是Spring数据JPA,如果我记得的话,Spring数据JPA使用方面在运行时创建类这太棒了。我最初认为将包包含在@componentScan中就可以了。但似乎您必须分别在
@EnableJpaRepositories
@EntityScan
中包含基本包之外的存储库和实体。谢谢
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)
@RunWith(SpringRunner.class)    
@SpringBootTest (classes = YourRestController.class )    
@ComponentScan({"your package goes here"})    
@AutoConfigureMockMvc    
@ActiveProfiles("development")    
public class Foo{
}