728x90 반응형 Web114 Spring(11) - 타일즈 & Spring 지원 기능들 1. 타일즈(tiles) 1) 화면의 레이아웃 기능을 제공하는 오픈 소스 라이브러리 2) 페이지 레이아웃을 단순하게 구현할수 있음 3) 공통된 레이아웃을 사용하므로 유지관리의 용이함 제공 2. 다중 파일 업로드 1) CommonsMultipartResolver - 여러 개의 파일을 한꺼번에 업로드 가능 3. 썸네일 이미지를 이용하면 상품목록 나열시 빠르게 표시할수 있음 . 4. 이메일 사용하기 1) 스프링에서 이메일 라이브러리 이용해서 쉽게 이메일 기능 구현 가능 2) 구글의 SMTP 서버 이용해서 이메일 기능 구현 5. 상품 이미지나 링크가 포함된 광고 이메일 보내기 6. 스프링 인터셉터(Interceptor) 1) 브라우저 요청 시 요청 메서드 호출 전후에 기능을 수행함 (개발자가 원하는 기능) 2).. 2022. 1. 29. Spring(10) - Maven & Spring 1. Maven 1) 라이브러리 관리 + 빌드 툴 2) 프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴 3) 편리한 Dependent Library 관리 - 의존성 라이브러리 관리 (pom.xml) 4) 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리할수 있음. 5) 여러 프로젝트에서 프로젝트 정보나 jar파일들을 공유하기 쉬움 6) 빌드 프로세스를 일관되게 가져갈수 있음 7) 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준디렉토리 구조를 처음부터 일관된 형태로 구성하여 관리할 수 있음 - 오픈소스 라이브러리들은 컴파일 할때 합쳐져 하나의 기능을 이룸. - 컴파일보다 더 많은 과정을 거치게 됨. - 이런 과정을 빌드라고 하고.. 2022. 1. 29. Spring(9) - Spring Annotation 0. Bean 등록 메타정보 구성 1) XML 단독 사용 - 모든 Bean을 명시적으로 XML에 등록하는 방법. - Bean 개수가 많아지면 XML 파일을 관리하기 번거로움 - 설정파일을 공유해서 개발 => 동시 수정, 충돌.. - DI에 필요한 적절한 setter 메서드 반드시 존재해야함. 2) XML과 빈 스캐닝(Bean Scanning) 혼용 - Bean 으로 사용될 클래스에 특별한 어노테이션을 부여해주면 이런 클래스를 자동으로 찾아서 Bean으로 등록함. 1. 스프링 애너테이션 (Annotation) 1) 기존에 XML에서 빈 설정을 애너테이션을 이용해서 자바 코드에서 설정하는 방법 2) 기능이 복잡해짐에 따라 XML에서 설정하는 것보다 유지 보수에 유리함 3) 현재 애플리케이션 개발 시 XML .. 2022. 1. 29. Spring(8) - Spring Transaction 1. 트랜잭션 (Transaction) 1) 여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묶어서 관리하는 것 2) All 또는 Nothing 방식으로 작업을 처리함으로써 작업의 일관성 유지함 3) 웹 애플리케이션에서 Service 클래스의 각 메서드가 애플이케이션의 단위 기능을 수행. 4) 웹 애플리케이션의 트랜잭션은 대부분 서비스 클래스에 적용함. 2. 단위 기능 예 1) 게시글 조회 시 해당 글을 조회하는 기능과 조회 수를 갱신하는 기능 2) 쇼핑몰에서 상품 주문시 주문 상품을 테이블에 등록하는 기능과 주문자의 포인트를 갱신하는 기능 3) 은행에서 이체시 이체자의 잔고를 갱신하는 기능과 수신자의 잔고를 갱신하는 기능 3. 이체를 통한 트랜잭션 기능 1) 트랜잭션 적용 전 은행 계좌 이체 -.. 2022. 1. 29. Spring(7) - MyBatis Framework 1. MyBatis 개요 1) 자바 오브젝트와 SQL문 사이의 자동 Mapping 기능 지원하는 ORM 프레임워크임. 2) SQL을 별도 파일로 분리해서 관리. - SQL문과 자바 코드의 분리 - SQL에 변경이 있을때마다 재 컴파일하지 않아도 됨. 3) SQL을 그대로 이용하면서 도메인 객체나 VO 객체를 중심으로 개발이 가능함. 4) 퍼시턴스 프레임워크 5) XML 형태로 서술된 JDBC 코드라고 할수 있을정도로 JDBC 모든 기능을 제공함. 6) 데이터소스(DataSource) 기능과 트랜잭션 처리 기능 제공. 2. MyBatis3의 주요 컴포넌트 1) MyBatis 설정파일(SqlMapConfig.xml) - DB 접속 주소 정보, Mapping 파일의 경로 등 고정된 환경정보 설정 2) Mapp.. 2022. 1. 29. Spring(6) - Spring MVC 1. MVC(Model-View-Controller) 패턴 1) 아키텍쳐 패턴 2) 주목적 : Business logic과 Presentation logic을 분리하기 위함. 3) 사용자 인터페이스로부터 비즈니스 로직을 분리 => 시각적 요소와 그 이면에서 실행되는 비지니스 로직이 서로 영향 없이 쉽게 고칠수 있는 애플리케이션을 만들수 있음. 4) Model : 애플리케이션의 정보(데이터, Business Logic 포함) View : 사용자에게 제공할 화면 (Presentation Logic) Controller : Model과 View 사이 상호 작용을 관리 2. MVC 컴포넌트 역할 1) 모델(Model) 컴포넌트 - 데이터 저장소(DB)와 연동 - 사용자가 입력한 데이터나 사용자에게 출력할 데이터.. 2022. 1. 29. Spring(4) - IoC와 DI 1. IoC (Inversion of Container) 개념 1) 객체의 생성, 생명주기의 관리까지 모든 객체데 대한 제어권이 바뀌었다는 의미. 2) 디자인 패턴에 해당. 2. IoC 컨테이너 1) 스프링 프레임워크도 객체에 대한 생성 및 생명주기를 관리 기능 제공. 2) IoC 컨테이너 기능 제공 - 객체 생성, 의존성 관리 - POJO의 생성, 초기화, 서비스, 소멸에 대한 권한 - 개발자들이 객체생성을 컨테이너에게 맡김 3. IoC 분류 1) DL (Dependency Lookup) : 의존성 검색 2) DI : 의존성 주입 (각 클래스간 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는것) - Setter Injection - Setter 메서드를 이용한 의존성 삽입 - Cons.. 2022. 1. 29. Spring(3) - Spring 의존성 주입 1. 의존성 주입 1) 개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라 컨테이터가 연관 관계를 직접 규정하는 것 2) 각 클래스들의 변경이 자유로워짐 (loosely coupled, 약한 결합) 3) 예 - 쇼핑몰 경우 - 상품 관리, 주문 관리, 회원 관리, 게시판 관리 등 구성됨 - 서로 관련 있는 기능들은 강하게 겹합(tightly coupled)하고, 관련이 없는기능들은 약하게 겹합(loosely coupled)해야 좋은 프로그램임. 2. 의존성 주입 장점 1) 코드를 단순화할수 있음. 2) 애플리케이션 더 쉽게 유지 및 관리 가능. 3) 기존 구현 방법은 개발자가 직접 코드 안에서 객체의 생성과 소멸을 제어했지만 의존성 주입은 객체의 생성,소멸과 객체 간의 의존 관계를 컨테이.. 2022. 1. 29. Spring(2) - Spring Framework 1. 프레임워크(Framework) 정의 1) '어떤 것을 구성하는 구조 or 뼈대' 2) '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품' 2. 프레임워크(Framework) 장점 1) 일정한 기준에 따라 개발이 이루어지므로 개발 생성산성 품질이 보장된 애플리케이션 개발 가능. 2) 개발 후 유지보수 및 기능의 확장성에서도 고품질 보장 3. 스프링 프레임워크 1) Spring makes it easy to create Java Enterprise Applications. ------------------------ - 대규모의 복잡한 데이터를 관리하고, 이러한 데이터를 이용해 비즈니스 프로세스 지원 및 자동화함. - 비즈니스의 근간으로 보안과 안정성, 확장성이 필요하며, 뛰어난 성능,서.. 2022. 1. 29. Spring(1) - Framework 1. SW 재사용 방안 1) 복사 & 붙이기 2) 메서드 정의, 호출 3) 클래스 재사용 (상속) 4) AOP (Aspect Oriented Programming) - 로깅, 보안 2. 디자인패턴 1) GoF(Gang of Four) - Design Patterns - 재사용 가능한 객체지향 소프트웨어 요소(디자인 패턴) 2) 구조적인 가이드라인 3) 구현된 기반코드를 제공하지 않음 3. 프레임워크 1) 비기능적 요구사항 (성능, 보안, 확장성, 안정성)을 만족하는 구조와 구현된 기능을 안정적으로 실행하도록 제어해주는 잘 만들어진 구조의 라이브러리임. 2) 비기능적 요소들을 초기 개발 단계마다 구현해야 하는 불합리함을 극복해줌. 3) 기능적인(Functional) 요구사항에 집중할수 있도록 해줌. 4) .. 2022. 1. 29. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음 728x90 반응형