토비의 스프링 정리 썸네일형 리스트형 토비의 스프링 - 9.4 9장 정리 9.4.1 정리 스프링은 어떤 플랫폼에서도 서용될 수 있지만, 기본적으로 자바 엔터프라이즈 플랫폼(JavaEE)에 최적화 되어있음. HTTP를 통해 접근하는 웹 클라이언트와 백엔드 DB를 사용하는 애플리케이션에 적합함 스프링 개발의 생상선을 증대시키고 품질을 높이려면 SpringIDE 플러그인이나 STS 같은 적절한 플러그인 지원이 필요함 스프링은 의존 라이브러리가 방대하기 때문에 의존 관계를 관리하는데 많은 노력을 기울여야 함. Maven이나 Ivy 같은 빌드 툴을 사용해 의존 라이브러리를 관리하는 것은 바람직함 스프링 애플리케이션은 역할에 따라 3계층으로 구분되고, 다시 기술의 추상도에 따라 세분화되는 계층형 아키텍처를 사용하는 것이 좋음 아키텍처는 애플리케이션이 다루는 정보의 관점에서 데이터 중심과.. 더보기 토비의 스프링 - 9.3 애플리케이션 아키텍처 9.3.1 아키텍처와 SoC 지금까지 주로 오브젝트 레벨에서 관심, 성격, 책임의 분리를 진행했음 이 원리는 아키텍처 레벨에서도 동일하게 적용할 수 있음 데이터 액세스 로직을 담당하는 DAO들만 하나의 단위로 묶고, 비즈니스 서비스만 하나의 단위로 묶을 수 있음 💡 서비스 오브젝트들은 POJO로 만들어짐. 밑에서 나오지만, 서비스 계층과 기반 서비스 계층은 다름 성격이 다른 것은 아키텍처 레벨에서 분리하면 독자적인 개발 및 테스트가 가능해 개발과 변경이 모두 빨라질 수 있음 이렇게 책임과 성격이 다른 것을 크게 그룹으로 만들어 분리하는 아키텍처를 계층형 아키텍처(Layered Architecture) 또는 멀티 티어 아키텍처라고 함 보통 웹 기반의 엔터프라이즈 애플리케이션은 세 개의 계층을 갖는다고 해서.. 더보기 토비의 스프링 - 9.2 개발도구와 환경 9.2.1 JavaSE와 JavaEE 스프링3.0은 JavaSE 5 버전에서 추가된 새로운 언어와 문법의 특징을 최대한 활용해서 개발했기 때문에, JDK 5.0 이상을 필요로 함 일부 기능은 JDK 6.0 API를 이용했기 때문에 필요하다면 JDK 6.0을 써야 함 스프링 3.0이 사용될 자바 엔터프라이즈 플랫폼으로는 J2EE 1.4 버전이나 JavaEE 5.0이 필요함 스프링 3.0 자체는 JDK 6.0과 JavaEE 5.0을 기준으로 개발됐지만, 주요기능은 JDK 5.0에서 동작하는 J2EE 1.4 버전과 호환되게 제작됨 다만, J2EE 1.4 버전 서버를 사용할 때는 JDK 5.0에서 동작하는지 반드시 확인해야 됨 만약 WAS 자체가 JDK 5.0에서는 사용할 수 없다면 스프링 3.0의 이용은 불가.. 더보기 토비의 스프링 - 9.1 자바 엔터프라이즈 플랫폼과 스프링 애플리케이션 9.1.1 클라이언트와 백엔드 시스템 스프링이 만들 수 있는 애플리케이션의 종류에는 제한이 없음 단, 스프링은 주로 자바 엔터프라이즈 환경에서 동작하는 애플리케이션을 개발하는 목적으로 사용됨 자바 엔터프라이즈 애플리케이션은 서버에서 동작하며 클라이언트를 상대로 서비스 제공을 목적으로 함 클라이언트 없이 정해진 시간이나 특정 이벤트 발생에 따라 독자적 작업을 수행하기도 함 서버에서 동작하는 엔터프라이즈 애플리케이션을 제외한 다른 형태의 애플리케이션에 스프링을 적용하기 위해서는 SpringRCP 또는 Spring.ME 같은 추가적 스프링 기술지원이 필요함 엔터프라이즈 애플리케이션은 자신이 클라이언트 또는 백엔드 시스템이 되어 동작할 수 있음 또한, 클라이언트와 백엔드 시스템의 종류와 개수의 제한을 받지 않음.. 더보기 토비의 스프링 - 8.5 8장 정리 8.5.1 정리 스프링은 그 개발철학과 목표를 분명히 이해하고 사용해야 함 스프링은 오픈소스 소프트웨어이며, 애플리케이션 개발의 모든 기술과 영역을 종합적으로 다루는 애플리케이션 프레임워크임 엔터프라이즈 애플리케이션의 복잡함은 비즈니스 로직과 기술적인 요구에 의해 발생됨. 기존의 접근 방법은 복잡도를 낮추지 못하며, 자바의 객체지향적인 장점을 포기해야 함 자바의 근본인 객체지향적인 원리에 충실하게 개발할 수 있으며, 환경과 규약에 의존적이지 않은 POJO를 이용한 애플리케이션 개발은 복잡함의 많은 문제를 해결할 수 있음 스프링의 목적은 이런 POJO를 이용해 엔터프라이즈 애플리케이션을 효과적으로 개발할 수 있도록 지원해주는 데 있음 POJO 방식의 개발을 돕기 위해 스프링은 IoC/DI, AOP, PSA.. 더보기 토비의 스프링 - 8.4 스프링의 기술 8.4.1 스프링 기술 스프링은 POJO 프로그래밍을 손쉽게 할 수 있도록 하는 세 가지 가능기술을 제공함 IoC/DI AOP PSA 가능기술 세 가지는 객체지향의 설계와 개발원리를 잘 적용하면 자연스럽게 만들어지는 것 이기도 함 다만, 스프링은 통일성과 세련된 방법으로 자바 엔터프라이즈 전 영역에 효과적으로 적용될 수 있도록 프레임워크 형태로 제공하고 있음 스프링의 기술들은 POJO 기반의 엔터프라이즈 개발을 편리하게 해주는 도구일 뿐임 8.4.1 제어역전(IoC) / 의존관계 주입(DI) IoC/DI는 스프링의 가장 기본이되는 기술이자 스프링의 핵심 개발 원칙임 나머지 두 가지인 AOP와 PSA도 IoC/DI에 바탕을 두고 있음 3대 핵심 기술은 아니지만, 템플릿/콜백 패턴이 적용된 부분도 IoC/D.. 더보기 토비의 스프링 - 8.3 POJO 프로그래밍 8.3.1 스프링의 핵심 : POJO 위 그림은 스프링으로 개발한 애플리케이션의 기본 구조임 스프링 애플리케이션은 POJO(Plain Old Java Object)를 이용해서 만든 애플리케이션 코드와 POJO가 어떻게 관계를 맺고 동작하는지를 정의해 놓은 설계정보로 구분됨 DI의 기본 아이디어는 유연하게 확장 가능한 오브젝트르 만들어두고, 그 관계는 외부에서 다이내믹하게 설정해 준다는 것임 이런 DI의 개념은 애플리케이션 전반에 걸쳐 적용됨 스프링의 주요 기술은 Ioc/DI, AOP, PSA(Portable Service Abstraction, 서비스 추상화)는 애플리케이션을 POJO로 개발할 수 있게 하는 가능 기술(Enabling Technology)라 불림 8.3.2 POJO란 무엇인가? POJO라.. 더보기 토비의 스프링 - 8.2 스프링의 목적 8.2.1 엔터프라이즈 개발의 복잡함 경량급 프레임워크인 스프링을 활용해서 엔터프라이즈 개발은 편하게 하는 것임 굳이 스프링을 사용하는 이유는 엔터프라이즈 개발이 편하지 않고 복잡하기 때문임 엔터프라이즈 개발이 복잡한 이유는 크게 두 가지가 있음 기술적인 제약조건과 요구사항이 늘어가기 때문 엔터프라이즈 시스템이란, 서버에서 동작하며 기업과 조직의 업무를 처리하는 시스템임 엔터프라이즈 시스템은 많은 사용자의 요청을 동시에 처리해야하기 때문에 서버 자원의 효율적 배분이 필요함 또한 금융, 원자력, 항공 등 미션 크리티컬한 곳에도 다뤄지기 때문에 보안성 및 안정성이 뛰어나야 함 이러한 이유들 때문에 엔터프라이즈 시스템을 개발하는데 비즈니스 로직 구현 뿐만이 아니라 기술적 고려사항이 있음 엔터프라이즈 시스템이 .. 더보기 이전 1 2 3 4 ··· 7 다음