java: cannot find symbol symbol: method getPassword() location: variable user of type org.apache.tomcat.jni.User
У меня небольшое учебное spring-boot приложение, которое при запуске выдаёт ошибку. Вот метод, в котором она возникает:
package com.jm.spring_boot.service.service;
import com.jm.spring_boot.service.repository.UserRepository;
import org.apache.tomcat.jni.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional
public class UserService {
private PasswordEncoder passwordEncoder;
private UserRepository userRepository;
@Autowired
public UserService(PasswordEncoder passwordEncoder, UserRepository userRepository) {
this.passwordEncoder = passwordEncoder;
this.userRepository = userRepository;
}
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User getUserById(long id) {
return userRepository.findById(id).get();
}
public void deleteUser(long id) {
userRepository.deleteById(id);
}
public User saveUser(User user) {
user.setPassword(passwordEncoder.encode(user.getPassword()));
return userRepository.save(user);
}
public User updateUser(User user) {
user.setPassword(passwordEncoder.encode(user.getPassword()));
return userRepository.save(user);
}
public User findByEmail(String email) {
return userRepository.findByEmail(email);
}
public String getUserByUsername(String name) {
return name;
}
}
Ссылка на весь проект https://github.com/faraponoff/spring_boot311
Ответы (1 шт):
Автор решения: DmitriyD
→ Ссылка
Вы импортировали класс User из пакета org.apache.tomcat.jni, в котором нет метода getPassword()
Замените импорт в UserService
import org.apache.tomcat.jni.User;
на
import com.jm.spring_boot.service.model.User;