Java SpringBean复制版:“;在null中定义的bean无法注册;。Can';我找不到
我正在编写一个简单的Spring JPA测试应用程序,并得到一个错误:“在null中定义的bean‘userRepository’无法注册。具有该名称的bean已经在null中定义,并且重写被禁用。”。我知道它指向bean复制,但我真的很困惑到底哪里是该死的复制。我想仅仅打开bean覆盖并不是一个好的选择。 请帮忙 该应用程序的结构是:Java SpringBean复制版:“;在null中定义的bean无法注册;。Can';我找不到,java,spring-boot,jpa,Java,Spring Boot,Jpa,我正在编写一个简单的Spring JPA测试应用程序,并得到一个错误:“在null中定义的bean‘userRepository’无法注册。具有该名称的bean已经在null中定义,并且重写被禁用。”。我知道它指向bean复制,但我真的很困惑到底哪里是该死的复制。我想仅仅打开bean覆盖并不是一个好的选择。 请帮忙 该应用程序的结构是: 用户类 package com.mot.platform.bean; import org.springframework.data.annotation.
用户类
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);
}
UserServiceImpl类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
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;
}
}
除了附加在这里之外,我没有其他文件/类。关于
UserRepository
的代码呢?为什么/@Autowired
是UsrServiceImpl
中的注释?这是一个配置问题。请务必完成此操作,可能您在配置类的某个位置多次使用了@EnableJpaRepositories
注释。抱歉,忘记附加UserRepository代码。现在是空的。添加了用户存储库代码。
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