본문 바로가기

전체 글110

쇼핑몰 구현 8 - 회원 기능 1. MemberRepository @Repository public interface MemberRepository extends JpaRepository { Optional findByEmail(String email); //email로 member 찾기 위해 Boolean existsByEmail(String Email); //회원가입 시 중복 체크용으로 사용 } 2. MemberService @Service @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; private final BCryptPasswordEncoder encoder; private final Ma.. 2024. 2. 23.
쇼핑몰 구현 7 - 환경설정 1. EmailConfig 이메일 인증을 위해 구현한 설정 @Configuration public class EmailConfig { @Value("${spring.mail.host}") private String host; @Value("${spring.mail.port}") private int port; @Value("${spring.mail.username}") private String username; @Value("${spring.mail.password}") private String password; @Value("${spring.mail.properties.mail.smtp.auth}") private boolean auth; @Value("${spring.mail.properties... 2024. 2. 23.
Cascade, OrphanRemoval 정리 1. Cascade 란? 특정 엔티티를 영속상태로 만들 때, 연관된 엔티티도 함께 영속상태로 만들고 싶은 경우 Cascade 옵션을 통해 영속성 전이를 설정하고 관리할 수 있다. 1.1. CascadeType.PERSIST PERSIST는 부모와 자식엔티티를 한 번에 영속화할 수 있다. CascadeType.PERSIST로 설정하고 부모인 Team을 영속화했을 경우, members에 담긴 Member까지 함께 영속화가 된다. 즉, 부모가 자식의 전체 생명 주기를 관리하게 된다. @Entity public class Team { @Id @GeneratedValue private Long id; @OneToMany(mappedBy = "team", cascade = CascadeType.PERSIST) pr.. 2024. 2. 23.
쇼핑몰 구현 6 - 라이브러리 설치, Entity 생성 1. 프로젝트에 사용할 라이브러리 설치 (build.gradle) dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' //security implementation 'org.thymeleaf.extras:thymeleaf-extras.. 2024. 2. 23.
쇼핑몰 구현 5 - 설계 & 결과 1. 개발환경 1. 프레임워크 및 라이브러리: Spring Boot3.2.2, Thymeleaf 2. 개발도구: IntelliJ IDEA 3. 데이터베이스: Mysql, redis 4. 운영체제: macOS 5. 화면구현: bootStrap, Javascript, JQuery 2. 기능설계 2.1. 회원 기능 회원가입 아이디는 이메일 사용 (이메일 인증 필수) 아이디 중복 불가 아이디, 비밀번호, 이름 비어있는지 확인 로그인 아이디, 비밀번호로 로그인 정보 수정 비밀번호, 이름 변경 가능 배송지 수정 다음 우편번호 API를 사용하여 우편번호, 도로명주소, 상세정보를 입력 받음 마이페이지 주문내역 확인 및 삭제 찜한상품 리스트 확인 장바구니에 담은 상품들 확인 내정보 확인 및 수정 배송지 확인 및 수정 2.. 2024. 2. 22.
Spring Security (3) - Security Filter Chain Security Filter Chain Spring Security에서 제공하는 인증, 인가를 위한 필터들의 모음 1. 필요한 필터 생성 (HttpSecurity) Spring Security는 인증, 인가에 대한 처리를 여러개의 필터를 연쇄적으로 실행하여 수행한다. 이때 필요한 필터와 필요하지 않은 필터를 명시해야 하는데 이를 WebSecurityConfigurerAdapter를 구현한 설정 파일에 명시한다. HttpSecurity클래스에서 이를 기반으로 해당되는 필터를 생성한다. 설정 파일 별로 필터 목록을 생성 후 WebSecurity로 전달한다. WebSecurity는 필터 목록들을 FilterChainProxy로 전달한다. SpringSecurityFilterChain으로 생성되는 bean이다... 2024. 2. 3.