java - 自动编写 JPA 存储库类时出现空指针异常
问题描述
我正在尝试自动装配我的 jpa 存储库。但是,它被自动装配为空。我正在关注一个教程!也就是说,扩展 CrudRepository 的接口将由 spring 在运行时为我创建。当然,我可以从头开始编写所有实现的方法。不过,我想知道教程弹簧基础配置是否适合我。
我曾尝试使用 @EnableJPARepositories 注释,但它不起作用。
-- java.com.GMorgan.RateMyFriendv5
-- Controller
...
-- Entity
...
-- Repository
UserRepositroy
-- Service
UserService
RateMYFreindv5Application
用户存储库
public interface UserRepository extends CrudRepository<User, UUID> {
List<User> findByUsername(String username);
List<User> findByEmail(String email);
}
用户服务
@Slf4j
@Service
public class UserService {
@Autowired
private UserRepository repository;
public boolean login(String username, String password) {
List<User> userList = repository.findByUsername(username);
boolean isSuccessful = userList.get(0).isPassword(password);
log.info("Username: {} isSucessful: {}", username, isSuccessful);
return isSuccessful;
}
public boolean signUp(String email, String username, String password) {
if (userEmailExists(email) || userUsernameExists(username)) return false;
User user = new User();
user.setEmail(email);
user.setUsername(username);
user.setPassword(password);
user.setRole(Role.USER);
repository.save(user);
log.info("User email: {} username: {}", email, username);
return true;
}
private boolean userEmailExists(String email) {
return !repository.findByEmail(email).isEmpty();
}
private boolean userUsernameExists(String username) {
return !repository.findByUsername(username).isEmpty();
}
}
评价我的朋友
@EnableJpaRepositories(repositoryBaseClass = UserRepository.class)
@SpringBootApplication(scanBasePackages = {"com.GMorgan.RateMyFriendv5.Service",
"com.GMorgan.RateMyFriendv5.Controller"})
public class RateMyFriendv5Application {
public static void main(String[] args) {
SpringApplication.run(RateMyFriendv5Application.class, args);
}
}
解决方案
推荐阅读
- geocoding - 巴西的地理编码精度不足
- typescript - 带有对象的 TypeScript 枚举
- javascript - 定位问题:使用 querySelectorAll 悬停 DOM
- python - 在熊猫数据框中创建一个累积计数列
- javascript - 如何使用 Swiper.js 获取幻灯片的先前活动索引?
- python - 如何完成没有重复值的数据框转置?
- java - 空间通配符来计算它们
- racket - 如何定义允许引用列表或函数的合同?
- marklogic - MarkLogic 搜索文档具有属性
- java - Camel:GenericFileFilter 和 Recursive 不能一起工作