Sign-up Integration
Learn how to hash passwords, save users when signing up, and throw custom exceptions if the user is present during sign-up.
We’ll create a user entity, and when the users sign up, we’ll create a new user in the database.
User entity
Let’s create a User
model. It will have five fields:
id
firstName
lastName
email
password
Press + to interact
package com.educative.ecommerce.model;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name = "users")public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;@Column(name = "first_name")private String firstName;@Column(name = "last_name")private String lastName;@Column(name = "email")private String email;@Column(name = "password")private String password;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getFirstName() {return firstName;}public void setFirstName(String firstName) {this.firstName = firstName;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public User(String firstName, String lastName, String email, String password) {this.firstName = firstName;this.lastName = lastName;this.email = email;this.password = password;}public User() {}}
Repository
Next, we’ll create a JpaRepository
for the users
model.
Press + to interact
package com.educative.ecommerce.repository;import com.educative.ecommerce.model.User;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.stereotype.Repository;@Repositorypublic interface UserRepository extends JpaRepository<User, Integer> {}
Service
Next, we’ll create a UserService
class in the Service
package, which will autowire UserRepository
.
Press + to interact
package com.educative.ecommerce.service;import com.educative.ecommerce.repository.UserRepository;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;@Servicepublic class UserService {@AutowiredUserRepository userRepository;}