java - Spring bean重复:“在null中定义的bean,无法注册”。找不到
问题描述
我正在编写一个简单的 Spring JPA 测试应用程序并收到错误:“在 null 中定义的 bean 'userRepository' 无法注册。具有该名称的 bean 已经在 null 中定义并且覆盖被禁用。” . 我知道它指向 bean 重复,但我真的很困惑地狱重复在哪里。我猜只是打开 bean 覆盖并不是一个好的选择。请帮忙。
该应用程序的结构是:
用户类
package com.mot.platform.bean;
import org.springframework.data.annotation.Id;
import javax.persistence.*;
@Entity
@Table(name="plan_user")
public class User {
@Id
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "name", length = 255, nullable = false)
private String name;
@Column(name = "password", length = 255, nullable = false)
private String password;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
'''
**UserRepository class**<br />
'''
package com.mot.platform.model;
import org.springframework.stereotype.Repository;
import com.mot.platform.bean.User;
import org.springframework.data.repository.CrudRepository;
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
//User findById(long id);
}
用户服务类
package com.mot.platform.model;
import com.mot.platform.bean.User;
public interface UserService {
public void addUser (String name, String password);
public User getUserById (Long id);
}
UserServiceImpl 类
UserServiceImpl
package com.mot.platform.model;
import org.springframework.stereotype.Service;
import com.mot.platform.bean.User;
import java.util.Optional;
@Service
public class UsrServiceImpl implements UserService {
// @Autowired
private UserRepository rep;
public void addUser(String name, String password) {
User user = new User();
user.setName("TestHiber");
user.setPassword("ttt");
rep.save(user);
}
public User getUserById(Long id) {
Optional<User> optusr = rep.findById(id);
User usr = optusr.isPresent() ? optusr.get() : null;
return usr;
}
}
用户存储库
package com.motivation.platform.model;
import org.springframework.stereotype.Repository;
import com.mot.platform.bean.User;
import org.springframework.data.repository.CrudRepository;
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
}
应用程序属性
# ===============================
# DATABASE
# ===============================
spring.datasource.driver-class-name= oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:BDSM
spring.datasource.username=XXX
spring.datasource.password=YYY
# ===============================
# JPA / HIBERNATE
# ===============================
spring.jpa.show-sql=true
spring.jpa.database-platform=org.hibernate.dialect.Oracle9Dialect
spring.jpa.hibernate.ddl-auto=update
除了附在此处之外,我没有其他文件/类。
解决方案
推荐阅读
- mysql - mysql 仅索引空/非空查询
- pandas - 有没有办法分隔包含多个数据集的列?
- python-xarray - xarray.open_mfdataset() 从 NetCDF 文件中提取单个网格点数据的性能改进
- reactjs - 如何将邮递员中的代理请求转换为axios
- web-services - 使用 CURL 调用双向 SSL Web 服务
- linux - sed ack 搜索/用字符串替换换行符
- python - AttributeError: 'NoneType' 对象没有属性 'send' discord.py
- vba - 从剪贴板保存图像 MS Access
- c++ - 固定大小的 3D 表
- python - 如何合并 df1 & df2 但只保留 df2 的新行