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

yrefmtwq  于 12个月前  发布在  Spring
关注(0)|答案(3)|浏览(258)

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

@Repository
public class ProductRepository {

@Autowired
JdbcTemplate jdbcTemplate;

@Bean
public void addProduct(String name) {
    String sql = "INSERT INTO product VALUES (NULL, ?)";
    jdbcTemplate.update(sql, name);
}
}

@Service
public class ProductService {

@Autowired
ProductRepository productRepository;

public void addProduct(String name) {
    productRepository.addProduct(name);
}
}


@RestController
@RequestMapping(path="product")
public class ProductController {

@Autowired
ProductService productService;

@PostMapping(path="/add/{name}")
public void addProduct(@PathVariable 
String name) {
    productService.addProduct(name);
}
}

字符串

gkl3eglg

gkl3eglg1#

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

siv3szwd

siv3szwd2#

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

h5qlskok

h5qlskok3#

尝试通过addproduct方法删除@Bean

相关问题