본문 바로가기

Back-End/토비의 스프링3

(24)
스프링 공부방법 스프링 공부방법스프링을 사용할 때 우리는 원리에 대한 이해보다 단순 예제를 보고 바로 구현에 들어갔을 것이다. 하지만 스프링의 가치를 제대로 느끼며 사용하려면 스프링을 제대로 공부해야 한다. 그렇다면 제대로 공부하는게 무엇일까? 1. 스프링을 왜 사용하고 어떠한 원리인지 이해하기스프링이 주는 3가지 핵심 기술에 대한 이해와 스프링이 강조하는 프로그래밍 모델에 대한 이해가 우선이 되어야 한다. 2. 스프링 기술에 대한 지식과 선택 기준 정립스프링의 기본원리를 확실하게 이해하고 나면 스프링이 이를 어떻게 다양한 방법으로 확장하고 적용했는지 살펴보아야 한다. 스프링은 매우 폭넓은 접근 방법을 제공하기에 개발자가 어떤 것을 선택할지 정해야 한다. 3. 스프링의 적용과 확장스프링은 특정 아키텍처에 제한되는 프레임..
#6. AOP 6단원 공부하기 전에 AOP는 스프링을 공부하면서 IoC/DI, 서비스 추상화와 함께 나오는 스프링 3대 기술 중의 하나다. 항상 뒤에 나오고 가장 어려운 내용이라 제대로 공부를 하지 못했다. AOP를 제대로 사용하려면 스프링이 도입한 이유와 장점이 무엇인지 이해해야 한다. AOP의 적용 대상은 선언적 트랜잭션 기능(???)이다. AOP를 통해서 5단원에서 공부했던 코드를 더욱 더 깔끔한 방식으로 바꿀수 있다고 하네..... 6.1 트랜잭션 코드의 분리 5단원에서 서비스 추상화 기법을 통해 트랜잭션 기술에 독립적으로 만들어줬지만, 아직 서비스 코드에 쓸데없이 긴 트랜잭션 코드가 보인다. 그렇다고 이를 제거하기에는 트랜잭션 경계가 비즈니스 로직의 전후에 설정돼야 하는 것이 분명하다. 1) 트랜잭션 경계 설..
#5. 서비스 추상화 요약 비즈니르 로직을 담은 UserService 클래스를 만들고, 트랜잭션을 적용하면서 스프링의 서비스 추상화에 대해 알아보았다. 비즈니스 로직을 담은 코드는 데이터 엑세스 코드와 깔끔하게 분리되는 것이 좋다. DAO 기술 변화에 서비스 코드가 영향을 받지 않도록 인터페이스와 DI를 잘 활용해서 결합도를 낮춰야 한다.먼저 프레임워크에 대해 생각해보면, MVC나 DB 등 특정 기술을 도와주는 역할로 알고 있다. 하지만 스프링은 JavaEE 전반을 도와주는 것이기 때문에 에플리케이션 프레임워크라고 불린다. 1. 비즈니로직과 데이터 엑세스 코드의 분리 비즈니르 로직을 담은 UserService 클래스를 만들고, 트랜잭션을 적용하면서 스프링의 서비스 추상화에 대해 알아보았다. 5.1.2 까지 작업을 통해 Use..
#8. 스프링이란 무엇인가? 스프링의 정의 자바 엔터프라이즈 개발을 도와주는 오픈소스 경량급 애플리케이션 프레임워크 ( 1 ) 애플리케이션 프래임워크먼저 프레임워크에 대해 생각해보면, MVC나 DB 등 특정 기술을 도와주는 역할로 알고 있다. 하지만 스프링은 JavaEE 전반을 도와주는 것이기 때문에 에플리케이션 프레임워크라고 불린다. Spring의 개발 배경을 살펴보면, JavaEE 개발을 하던 로드 존슨이 불편함을 느끼고 스스로 개선방법을 고안하다 나온 것이다. 로드 존슨은 항상 "프레임워크 기반으로 접근하라"의 전략을 가지고 코딩을 하였다 한다. ( 2 ) 경량급라이브러리처럼 특정 기술만 포함하고 있어 무게가 가볍다는 뜻이 아니다. Spring 전 EJB에서 개발환경을 구성하려면 EJB 컨테이너를 가진 WAS를 준비해야 했다...