목록spring (6)
Partially Committed
|| Couphone, 쿠폰을 폰 안에! 백엔드 개발자가 되기로 마음먹은 뒤로 처음으로 참여한 프로젝트이다. 나는 Spring 경험이 아주 적었고 본 프로젝트 기간이 1개월 반 정도로 짧았기 때문에 전체적인 완성도가 많이 떨어지는 것 같아 많이 아쉬웠다. 처음으로 프로젝트에 참여하다 보니 모든 부분에서 상당히 막막한 감정을 느낄 수 밖에 없었는데, 운이 좋게도 이것저것 직접 구현해볼 수 있게 되어서 개인적으로는 얻어가는 점이 꽤 많았다고 생각한다. 여튼, 처음으로 프로젝트에 참여하며 느꼈던 막막함과 해결 과정을 되새기며 " 처음으로 구현해보는 " 이라는 시리즈로 블로그에 삽질한 기록을 남겨볼 생각이다. 첫 번째 주제는 처음으로 구현해보는 access token, refresh token 발급 로직이다. ..
뭔가 명확하지 않았던 내용에 대해서 정리해보자.. 1. WEB-INF 폴더란? WEB-INF 폴더는 브라우저에서 URL 을 통해 직접 접근할 수 없고(하려고 하면 404 ERROR 발생) 서버 내에서만 접근 가능하므로 Web 정보에 관한 중요한 파일들은 WEB-INF(Web Information) 폴더에 넣는다. 그러므로 보안성을 강화할 수 있다는 것이 장점이지만, 브라우저의 직접 접근이 제한되므로 Controller 을 반드시 거쳐서 이동해야만 한다. 일반적으로 jsp 파일은 WEB-INF 폴더에 넣고, css, img, jQuery 와 같은 정적 파일은 WEB-INF 폴더에 넣지 않는다고 한다. jsp 파일을 WEB-INF 폴더에 넣어서 관리하는 이유가 무엇일까? 브라우저를 통해서 jsp 파일에 직접..
빈 생명주기 콜백 애플리케이션의 실행 이전에 데이터베이스 커넥션 풀이나 네트워크 소켓과 같이 시작 지점에 필요한 연결을 미리 해두고 애플리케이션 종료 시점에 안전하게 종료하기 위해서는 객체의 초기화 및 종료 작업이 필요하다. 이는 Spring 에서 어떻게 구현할 수 있을까? 스프링 빈은 객체를 생성하고 의존관계를 모두 다 주입한 다음에서야 데이터를 사용할 수 있다. 그래서 초기화 작업은 의존관계 주입이 모두 끝난 다음에 호출해야 할텐데, 이 시점을 어떻게 하면 정확하게 알 수 있을까? 이를 위해 스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해 초기화 시점을 알려주는 기능을 제공한다. 그리고 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 주기 때문에 이를 이용하여 안전하게 종료 작업을 ..
다양한 의존관계 주입 다양한 의존 관계 주입 방법 - 생성자 주입 : 생성자를 통해 의존 관계를 주입 받는 것으로, 생성자 호출 시점에 딱 한번만 호출 되는 것이 보장되는 것이 특징이다. 불변, 필수 의존관계에 사용한다. - 수정자 주입(Setter 주입) - 필드 주입 - 일반 메서드 주입 # 생성자 주입 @Component public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberReposit..