일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- compgen
- 은행원알고리즘
- spring
- DTO
- application layer
- JPA
- @SubscribeMapping
- 프로그래머스
- 런타임 상수
- 쿠키
- 무한정 대기
- 편향된 지수
- m:n
- 리눅스
- intelij spring config
- 컴파일 타임 상수
- JDBC
- 파이썬
- API
- 백준
- 알고리즘
- 기본키 전략
- @Autowired
- 쉘 스크립트
- 데커
- 커밋 되돌리기
- BindingResult
- allocationSize
- 영속화
- Git
- Today
- Total
목록SPRING/MVC (9)
둘셋 개발!
공통 관심 사항 처리 로그인을 한 사용자만 상품 관리 페이지에 접근할 수 있게 했으면 좋겠다! 라는 요구사항이 있다면 상품을 등록, 수정, 삭제, 조회를 하는 모든 컨트롤러에 로그인 여부를 체크하는 로직을 넣으면 된다. 하지만 같은 로직을 여러번 넣는다는 반복문제도 있고 로그인 로직이 변경되면 번거로워 진다. 이렇게 애플리케이션 여러 로직에서 공통으로 관심이 있는 것을 공통 관심사(cross-cutting concern)이라고 한다. 공통 관심사는 서블릿이 지원하는 필터와 스프링이 지원하는 인터셉터로 처리할 수 있다. 서블릿 필터 개념 1. 필터의 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 2. 필터 제한 1) 로그인 사용자 HTTP 요청 -> WAS -> 필터 -> 서블릿 -..
우선 로그인을 하기 위해 로그인 로직을 짜야한다. 로그인 핵심 비지니스 로직을 LoginService에 담는다. 로그인 서비스 @Service @RequiredArgsConstructor public class LoginService { private final MemberRepository memberRepository; //return null이면 로그인 실패 public Member login(String loginId, String password) { return memberRepository.findByLoginId(loginId) .filter(m -> m.getPassword().equals(password)) .orElse(null); } } 로그인 컨트롤러는 LoginService를 호..
Bean Validation이란? : 검증 애노테이션과 여러 인터페이스의 모음이다. Item 클래스에 Bean Validation을 적용해보자 @Data public class Item { private Long id; @NotBlank private String itemName; @NotNull @Range(min = 1000, max = 1000000) private Integer price; @NotNull @Max(9999) private Integer quantity; public Item() {} public Item(String itemName, Integer price, Integer quantity) { this.itemName = itemName; this.price = price; t..
검증에는 타입검증 , 특정 필드 검증, 특정필드의 범위를 넘어서는 검증 등이 있다. 이러한 검증을 하기 위해서 일일히 구현을 해보고 점점 스프링에서 제공하는 기능들을 배워간다. 검증의 예시를 들기 위해 다음과 같은 상황이 있다고 가정한다 상품 관리 시스템을 운영하고 있고 여기에서는 상품명,가격,수량을 등록한다. 이때 검증 로직을 추가하라는 요구사항이 들어온다. -타입 검증 : 가격, 수량에 문자가 들어가면 검증 오류 처리 -필드 검증: 상품명 : 필수, 공백x 가격 : 1000원 이상, 1백만원 이하 수량 : 최대 9999 -특정 필드의 범위를 넘어서는 검증 가격 * 수량의 합은 10,000원 이상 version 1 검증을 했을 때 오류가 발생하면 어떤 오류가 났는지 정보를 담아 두는 공간으로 key를 ..