목록Tech/Spring (5)
지나공 : 지식을 나누는 공간
현재까지 1,2 편을 적고 3을 적게 됐다. 이렇게 보니 엄청 길게 느껴졌던 내용들이 생각보다 짧은 것 같기도..? 하다. 빈 생명주기 콜백과 빈 스코프가 남았다. 바로 시작! 스프링 프로그램이 시작하기 전과 후에 무언가 부가적인 작업을 해줘야 할 때가 있다. 예를 들면 데이터베이스 커넥션 풀이나 네트워크 소켓 등이 있다. 애플리케이션이 시작될 시점에 미리 필요한 연결을 해둬야 하고, 종료될 쯤에는 연결됐던 걸 다시 해제하는 작업이 필요하다. 이러한 부가 작업들은 주요 프로그램이 실행되기 전과 후에 각각 이루어져야 한다. 이번 시간에는 네트워크 소켓을 담당하는 NetworkClient라는 객체를 만들어서 테스트한다. 네트워크 소켓을 담당하는 빈이기 때문에 이 빈의 로직이 실행되기 전에 네트워크 연결이 세..
개요 지난 시간에는 Spring이 객체지향원칙을 지켜주는 방법의 도입부. 즉 그냥 단순하게 개발하면 어디서 SOLID 원칙이 여겨지는지 알아보고 스프링 컨테이너를 사용하면 그걸 어떻게 해결해주는지를 알아봤다. 그중에서도 ApplicationContext(스프링컨테이너)를 활용해서 싱글톤 빈을 관리하는 것까지 봤는데, 이번에는 그 활용 자체를 좀 더 편하게 하도록 스프링이 뭘 제공해주는지 보고 그 외 여러가지 스프링 기능들도 볼 예정이다. 영한님 강의 중 핵심원리 기본편의 마무리 글이다. 얼른 끝내고 MVC로 가자! 아래 포스팅에 이어지는 내용이다. https://eocoding.tistory.com/120 Spring 핵심 원리 기본편 Spring 핵심 원리를 오고가면서 쓰윽 들었다. 그래서 그간의 테스..
Spring 핵심 원리를 오고가면서 쓰윽 들었다. 그래서 그간의 테스트 코드들을 살펴보면서 아주 퀵하게 정리해보려 한다. 이미 너무나 유명한 영한님 강의!ㅎㅎ 좀 오글거리는 소제목들이 있지만 난 이렇게 써야 이해가 잘 가서 부끄러워도 그냥 썼다. 예제에 필요한 클래스들을 대충 정리하자면 아래와 같다. Member 관련 Member MemberRepository : 멤버 저장 DAO MemberService : 멤버Repository를 호출해서 실제 회원가입과 회원찾기 기능을 해주는 부분 Grade enum : 등급별로 멤버들의 할인정책이 바뀌기 때문에 어떤 등급의 멤버인지 등록할 때 사용한다. Order 관련 OrderService : 주문 생성에는 멤버정보 / 할인정보 / 상품정보가 필요하다. Orde..
들어가기 저번에 FeignClient로 다른 API를 호출할 때 그 API에서 반환한 Json 객체를 Java Object(Response객체)로 담는 과정에서 Java Object에 빈 생성자를 넣지 않아 에러가 난 적이 있었다. 지난 번엔 이걸 알아보기 전에 자바 소스 코드가 실행되는 과정을 다시 공부했었다. 보다보니 기본 API에 대해서도 잘 모르는 것 같아서 기본적인 API를 개발한 뒤 이걸 호출할 때 java 내에서 무슨 일이 발생하는지 순차적으로 알아보려 한다. https://eocoding.tistory.com/117 Java 안에서의 Interpreter와 Compiler 들어가기 직렬화 객체에 빈 생성자를 넣지 않았다가 Feign으로 외부 API 호출 시 에러가 났다. 그래서 직렬화 객체..
토비의 스프링을 읽고 정리했다. 티스토리가 사라져버린 그 날에 노션에 정리했던 걸 옮겨본다. https://selective-bathtub-e65.notion.site/f72b75db1b8945e089d00b01c9bb5ada 목차 목차만 보고 절차를 대충 상기할 수 있으므로 목차는 매우 중요하다...ㅎㅎ 1.1 초난감 DAO DAO : 데이터를 조회하거나 조작하는 기능을 전담하는 오브젝트 책에서 초반에 DAO를 하나 만들었다. 데이터를 추가하는 add 메소드 안에는 세 가지 관심사항이 같이 들어있다. DB Connection을 가져오는 부분 실제 SQL Statement를 만들고 실행하는 부분 작업을 마친 뒤 Statement와 Connection 오브게트를 닫는 부분 → 왜 초난감 DAO인걸까? 문제..