Spring Data Jpa 无法找到所需的类型为“java.lang.String”的Bean

yrefmtwq  于 2024-01-09  发布在  Spring
关注(0)|答案(3)|浏览(322)

这是我尝试启动我的spring Boot 应用程序时出现的错误iam。操作:考虑在配置中定义一个类型为“java.lang.String”的bean。
我的代码

  1. @Repository
  2. public class ProductRepository {
  3. @Autowired
  4. JdbcTemplate jdbcTemplate;
  5. @Bean
  6. public void addProduct(String name) {
  7. String sql = "INSERT INTO product VALUES (NULL, ?)";
  8. jdbcTemplate.update(sql, name);
  9. }
  10. }
  11. @Service
  12. public class ProductService {
  13. @Autowired
  14. ProductRepository productRepository;
  15. public void addProduct(String name) {
  16. productRepository.addProduct(name);
  17. }
  18. }
  19. @RestController
  20. @RequestMapping(path="product")
  21. public class ProductController {
  22. @Autowired
  23. ProductService productService;
  24. @PostMapping(path="/add/{name}")
  25. public void addProduct(@PathVariable
  26. String name) {
  27. productService.addProduct(name);
  28. }
  29. }

字符串

gkl3eglg

gkl3eglg1#

我也遇到了同样的问题,我创建了一个默认的构造函数来解决这个问题,也许这对你也有帮助。

siv3szwd

siv3szwd2#

在这里,您试图在addProduct()中创建具有String类型的依赖对象的Bean。当Spring应用程序启动时,它试图查找String类型的Bean。这没有意义。
因此,不需要@Bean注解。bean通常在用@Configuration注解的类中创建。

h5qlskok

h5qlskok3#

尝试通过addproduct方法删除@Bean

相关问题