Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法解析方法';设置电子邮件';在';用户';班级_Java_Spring Boot_Spring Mvc_Spring Security - Fatal编程技术网

Java 无法解析方法';设置电子邮件';在';用户';班级

Java 无法解析方法';设置电子邮件';在';用户';班级,java,spring-boot,spring-mvc,spring-security,Java,Spring Boot,Spring Mvc,Spring Security,我收到以下错误:无法解析AuthService.java中“User”中的方法“setEmail” 我尝试添加带有参数的构造函数,它可以正常工作。但是为什么没有它就不能工作呢 以下是课程: AuthService.java @Service @AllArgsConstructor @Slf4j public class AuthService { private final UserRepository userRepository; private final Passwor

我收到以下错误:
无法解析AuthService.java中“User”中的方法“setEmail”

我尝试添加带有参数的构造函数,它可以正常工作。但是为什么没有它就不能工作呢

以下是课程:

AuthService.java

@Service
@AllArgsConstructor
@Slf4j
public class AuthService {

    private final UserRepository userRepository;
    private final PasswordEncoder passwordEncoder;

    @Transactional
    public void signup(RegisterRequest registerRequest) {
        User user = new User();
        user.setUsername(registerRequest.getUsername());
        user.setEmail(registerRequest.getEmail());
        user.setPassword(encodePassword(registerRequest.getPassword()));
        user.setCreated(now());
        user.setEnabled(false);

        userRepository.save(user);
    }

    private String encodePassword(String password) {
        return passwordEncoder.encode(password);
    }
}
User.java

@Data //responsable des getters et setters
@Entity
@Builder //Builder methods pour nos classes (Christophe nous a montré des exemples)
@AllArgsConstructor
@NoArgsConstructor
public class User {
    @Id
    @GeneratedValue(strategy = IDENTITY)
    private  Long userId;

    @NotBlank(message = "Le nom d'utilisateur est nécessaire")
    private String username;

    @NotBlank(message = "Le mot de passe est nécessaire")
    private String password;

    @Email
    @NotEmpty(message = "l'email est nécessaire")
    private String email;
    private Instant created;
    private boolean enabled;
}
UserRepository.java

import java.util.Optional;

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByUsername(String username);
}
import java.util.Optional;
公共接口用户存储库扩展了JpaRepository{
可选findByUsername(字符串用户名);
}
启用运行时将解决此问题

为了让IDE在运行时检测lombok注释,您需要添加集成lombok插件

在Eclipse中安装Lombok(版本:Photon Release(4.8.0))
  • 下载Lombok Jar文件athttps://projectlombok.org/downloads/lombok.jar
  • 启动Lombok安装 在本地存储库中下载jar后,从命令提示符转到jar位置 并运行以下命令java-jar lombok-1.16.18.jar,我们应该 Lombok提供的Lombok安装窗口如下所示
  • 提供eclipse安装路径 单击“指定位置”按钮并在eclipse下找到eclipse.exe路径 安装文件夹
  • 最后,通过单击“安装/更新”,然后单击“退出安装程序”来安装
  • 重新启动EclipseIDE。它将执行一些后台处理,错误应该是 删除
  • 在Intellij中安装Lombok(版本:Ultimate 2018.2)
  • 转到文件>设置>插件
  • 在提供的搜索框中键入lombok(版本:0.22.2.08.2或更高版本)
  • 或visithttps://github.com/mplushnikov/lombok-intellij-plugin
  • 重新启动IDE
  • 相关问题:

    为运行时启用将解决此问题

    为了让IDE在运行时检测lombok注释,您需要添加集成lombok插件

    在Eclipse中安装Lombok(版本:Photon Release(4.8.0))
  • 下载Lombok Jar文件athttps://projectlombok.org/downloads/lombok.jar
  • 启动Lombok安装 在本地存储库中下载jar后,从命令提示符转到jar位置 并运行以下命令java-jar lombok-1.16.18.jar,我们应该 Lombok提供的Lombok安装窗口如下所示
  • 提供eclipse安装路径 单击“指定位置”按钮并在eclipse下找到eclipse.exe路径 安装文件夹
  • 最后,通过单击“安装/更新”,然后单击“退出安装程序”来安装
  • 重新启动EclipseIDE。它将执行一些后台处理,错误应该是 删除
  • 在Intellij中安装Lombok(版本:Ultimate 2018.2)
  • 转到文件>设置>插件
  • 在提供的搜索框中键入lombok(版本:0.22.2.08.2或更高版本)
  • 或visithttps://github.com/mplushnikov/lombok-intellij-plugin
  • 重新启动IDE
  • 相关问题:

    您使用的是哪个版本的
    lombok
    ?为什么在一个实体上同时需要
    @Data
    @Builder
    (酷,请在intellij中安装插件,并在文件>设置>插件和工具中进行验证。祝你好运!@Ashutosh这很有效!Ty!(你可以给出答案)你正在使用哪个版本的
    lombok
    ?为什么你需要在实体上同时使用
    @Data
    @Builder
    ?@Ashutosh好吧,我正在使用最后一个版本。)(1.18.我使用的是最后一个(1.18.16)。我需要数据和生成器,因为我需要我的getter和setter(酷,请在intellij中安装插件,并在文件>设置>插件和工具中进行验证。祝你好运!@Ashutosh这很有效!Ty!(你可以给出答案)