Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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
Spring boot springbootbean创建/注入问题_Spring Boot_Autowired_Spring Bean - Fatal编程技术网

Spring boot springbootbean创建/注入问题

Spring boot springbootbean创建/注入问题,spring-boot,autowired,spring-bean,Spring Boot,Autowired,Spring Bean,我有一个spring boot应用程序,我无法确定代码中有什么错误。它给了我创建bean的错误。我使用了@Autowired,但不确定出了什么问题 Main.Java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } Us

我有一个spring boot应用程序,我无法确定代码中有什么错误。它给了我创建bean的错误。我使用了@Autowired,但不确定出了什么问题

Main.Java

@SpringBootApplication
public class Application
{
    public static void main(String[] args)
    {
        SpringApplication.run(Application.class, args);
    }
}
UserWS.java

@Controller
public class UserWS
{

    @Autowired
    UserService userService;

    @RequestMapping(value = URLConstants.ADD, method = RequestMethod.POST)
    @ResponseBody
    public ResponseEntity<Status> add(@RequestBody User user) throws PeerRateException
    {
        try
        {
            userService.addUser(user);
            Status status = PeerUtils.getSuccessStatus();
            status.setObject(null);
            return new ResponseEntity<>(status, HttpStatus.OK);
        }
        catch (Throwable t)
        {
            throw new PeerRateException(ExceptionConstants.USER_CREATE_CODE, ExceptionConstants.USER_CREATE, t);
        }
    }
}
UserDao.java

@Transactional
public interface UserDao extends CrudRepository<User, Long>
{

}

因为您没有显示上面所有类所在的包,所以我只能假设问题出在您的项目结构上

UserService
类可能在
@ComponentScan
之外

现在
@SpringBootApplication
@Configuration@EnableAutoConfiguration@ComponentScan
相同,因此请确保
用户服务.java
位于
应用程序.java的相同包或子包下


请查看此文档。

这是错误:org.springframework.beans.factory.BeanCreationException:创建名为“userService”的bean时出错:自动关联依赖项的注入失败;是的,我是对的。这是你包裹的问题。您只需将您的
Application.java
移动到
com.hk.peerrate
包,这样
@ComponentScan
将应用于所有其他类,因为它们属于子包。如您所说,更改了包结构,但仍然是org.springframework.beans.factory.NoSuchBean定义异常:未找到符合依赖项类型[com.hk.peerrate.dao.UserDao]的合格bean:应至少有1个bean符合此依赖项的autowire候选。依赖项注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}您是否将
UserDao.java
移动到
Application.java
子包下?我想您可能需要在
Application.java
上设置存储库类,如下
@EnableJpaRepositories(“com.hk.peerrate.dao”)
如果您感兴趣,请查看我在Spring Social Twitter和Spring Boot上的实验。
@Transactional
public interface UserDao extends CrudRepository<User, Long>
{

}
com.hk.peerrate.main
    Main.java
com.hk.peerrate.service
    UserService.java
com.hk.peerrate.ws
    UserWS.java