我有弹簧启动应用程序,我不知道我的代码中有什么错误。它给了我创建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);
}
}
}
UserService.Java
@Component
public class UserService
{
@Autowired
private UserDao userDao;
public void addUser(User user)
{
userDao.save(user);
}
}
UserDao.java
@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
答案 0 :(得分:2)
由于您还没有显示上面所有类所在的包,我只能假设您的项目结构存在问题。
UserService
课程可能在@ComponentScan
之外。
现在@SpringBootApplication
与@Configuration @EnableAutoConfiguration @ComponentScan
相同,因此请确保UserService.java
位于Application.java
的同一个包或子包中。
查看此Spring Boot文档。