목록Develop/Spring (6)
middlemoon

이번 시간은 컴포넌트 스캔과 의존관계 자동주입에서 사용되는 @Component 와 @Autowired 에 대해서 알아볼 예정이다. Autowired같은경우는 기존의 컨트롤러에 스프링Bean되어있는 Service단의 스프링 컨테이너화된 것들을 가져와 Autowired 하나로 의존관계 주입을 편리하게 한 기억이 있다. 오늘은 거기에 대하여 원리를 배우고자 글을 올리게 되었다. 이 블로그는 김영한님 강의를 토대로 작성하였으니 참고용으로 봐주시면 좋을 것 같고, 기록용으로 남기기 위해 올렸다는 점 참고해주시면 감사하겠습니다. 먼저 ComponentScan을 선언해줌으로써, 여러개의 Bean들을 한번에 모아서 써줄수 있도록 어노테이션으로 선언해준다. 사용하고자하는 부분에 Component를 어노테이션으로 추가해준..

싱글톤을 알아보기 전에, 싱글톤의 의미란 무엇인가? -> 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 물론 객체의 인스턴스를 1개만 생성하는게 아닌 필요할 때마다 처리해주는 경우가 있다. Transaction Per Second(TPS)는 초당 트랜잭션의 개수 또한 늘어나는것을 줄일수 없다는 단점이 있다. 효율적이지 못한 코드때문에 싱글톤이라는 개념을 사용하는 것이다. 이번 시간은 웹 어플리케이션과 싱글톤의 관계는 어떤것이 있을까? 라는 것을 확인해보려한다. 이 블로그는 김영한님 강의를 토대로 작성하였으니 참고용으로 봐주시면 좋을 것 같고, 기록용으로 남기기 위해 올렸다는 점 참고해주시면 감사하겠습니다. AppConfig안에 있는 MemberService에 나오는 memberService,..

이번 시간은 스프링 컨테이너 생성부터 스프링은 어떤 구조로 이어지는지 만들어보는 시간을 갖을 계획이다. ApplicationContext는 스프링컨테이너라고 말한다. 자세하게 말해 컨테이너란? - 객체들을 담고있는 하나의 공간이라고 생각하면 될것 같다. 이 블로그는 김영한님 강의를 토대로 작성하였으니 참고용으로 봐주시면 좋을 것 같고, 기록용으로 남기기 위해 올렸다는 점 참고해주시면 감사하겠습니다. 여기서 @Bean을 어노테이션으로 추가해줄 때 밑의 코드처럼 스프링 컨테이너에 즉 객체를 담고있는 저장소에 빈 이름 - memberService / 빈 객체 MemberServiceImpl 이런형식으로 담기는 것을 알수 있다. 주의할것은 @Bean에 대한 이름은 항상 다른 이름을 부여해야한다는 뜻이다. 단순하..

이번 시간은 저번에 했던것을 이어 새로운 할인 정책 개발에 관련되 이어나가보려한다. 일련의 과정은 기획자가 개발자에게 요구 및 설계를 제안할때 나오는 과정과 같은데 기획자의 요구사항에 완벽하게 맞출수 있는 개발자는 없다고 생각한다. 물론 완벽에 가까운 요구사항을 맞출수는 있겠지만 그렇지 않은 상황을 대비해 개발자는 유연하게 이 문제들을 대처할수 있도록 객체지향 설계 원칙을 준수하며 짜는 것이 현명하다고 생각한다. 천천히 과정들을 살펴보며 어떻게 해야 원칙을 준수 할수 있는지 확인해보도록 하자. 이 블로그는 김영한님 강의를 토대로 작성하였으니 참고용으로 봐주시면 좋을 것 같고, 기록용으로 남기기 위해 올렸다는 점 참고해주시면 감사하겠습니다. 설계도는 다음과 같다.저번시간에 OrderServiceImpl과 ..

우선 이 강의에서 비즈니스 요구사항과 설계를 베이스로 설명을 하게끔 해준다. 실무에 맞는 기준으로 직접 개발자가 개발하는 것이 아닌 외부의 지시로 인해 요구사항을 던져주면 그에맞게 설계를 하는 것이 개발자의 몫이라 할수 있을것이다. 비즈니스 로직부터 차근차근 넘겨짚으며 공부를 해보려한다. 이 블로그는 김영한님 강의를 토대로 작성하였으니 참고용으로 봐주시면 좋을 것 같고, 기록용으로 남기기 위해 올렸다는 점 참고해주시면 감사하겠습니다. 회원 도메인 회원을 가입하고 조회를 할 수 있다. 회원은 일반과 VIP 두가지 등급을 나눈다. 회원 DB를 만들고 외부시스템과 연동을 할 수 있다. 회원 클래스를 구현하기 위한 다이어그램은 다음과 같다. 1. Member에 관한 패키지를 만든다 -> Enum을 이용해 Gra..
우선 이 블로그의 내용은 개인적인 공부기록용도 있지만 김영한님의 스프링 기본편을 바탕으로 한점이 있기 때문에 강의한 내용과 정리내용이 거의 비슷한 점이다. 강의를 기록으로 남기는 이유는 필자또한 스프링을 학습하고 프로젝트 등 여러가지를 진행하면서 안다고 생각하지만 공부는 하면 할수록 배울게 많다라는 생각이 들기때문에(결국 다 알지는 못한다는 사실..) 기록을 남기지 않나 생각한다. 그 부분을 참고하고 블로그를 읽으면 될것 같다. 스프링 프레임워크 핵심 기술 : 스프링 DI컨테이너 , AOP, 이벤트, 기타 웹 기술 : 스프링 MVC, 스프링 WebFlux 데이터 접근 기술 : 트랜잭션, JDBC, ORM, XML 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링 테스트: 스프링 기반 테스트 지원 이런것들..