의존성 주입 DI는 디자인 패턴으로 크게 다음과 같이 4가지 방법이 있다. 생성자 주입 setter 주입 필드 주입(@Autowired) 일반 메서드 주입 생성자 주입 이름 그대로 생성자를 통해서 의존 관계를 주입 받는 방법 생성자 호출 시점에 단 1번만 호출되는 것이 보장된다. 불변, 필수 의존 관계에 사용 @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepos..
Servlet Filter 필터는 서블릿이 지원하는 문지기와 같다. 만약 로그인한 회원만 게시판의 글 쓰기, 수정, 삭제 기능을 사용할 수 있다면, 해당 로직마다 로그인을 확인하는 기능을 추가해야 하고, 이 기능이 수정되었다면, 일일이 다 찾아서 수정도 해야 한다. 이러한 공통 관심사는 스프링의 AOP로 해결할 수 있지만, 웹과 관련된 공통 관심사는 서블릿 필터 또는 스프링 인터셉터를 사용하는 것이 좋다. 필터의 흐름은 다음과 같다. HTTP 요청 -> WAS -> 필터 -> 디스패처 서블릿 -> 컨트롤러필터를 적용하면 필터가 호출 된 다음에 디스패처 서블릿이 호출된다. 그래서 모든 고객의 요청 로그를 남기는 요구사항이 있다면 필터를 사용하면 된다. /* 이라고 하면 모든 요청에 필터가 적용된다. 아래는..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/DyQX4/btrqRSwZyaT/Pk4PAELndtsS2kcV7cqEZk/img.png)
스프링 메시지 소스 스프링은 기본적인 메시지 관리 기능을 제공한다. 메시지 관리 기능을 사용하기 위해서는 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 되는데, 인터페이스이기 때문에 구현체인 ResourceBundleMessageSource를 스프링 빈으로 등록한다. 스프링 메시지 소스 직접 등록 @Bean public MessageSource messageSource() { ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); messageSource.setBasenames("messages", "errors"); messageSource.setDefaultEncoding("utf-8"); re..
- Total
- Today
- Yesterday
- Spring
- 그리디
- 노마드코더
- spring boot
- 북클럽
- 김영한
- 정렬
- 스프링부트
- 데이터베이스
- 알고리즘
- mysql 8.0
- webflux
- 코테
- 인프런
- 스프링 부트
- 파이썬
- 구현
- 백준
- 문자열
- MySQL
- leetcode
- 노마드
- 자료구조
- 코틀린
- Real MySQL
- 스프링
- 릿코드
- Algorithm
- 리팩토링
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |