advanced java programming n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
고급자바프로그래밍 (Advanced Java Programming) PowerPoint Presentation
Download Presentation
고급자바프로그래밍 (Advanced Java Programming)

Loading in 2 Seconds...

play fullscreen
1 / 21

고급자바프로그래밍 (Advanced Java Programming) - PowerPoint PPT Presentation


  • 204 Views
  • Uploaded on

고급자바프로그래밍 (Advanced Java Programming). 강원대학교 컴퓨터학부 2012 년 가을학기 담당교수 정충교. 7 장 스프링 핵심 기술의 응용. 3 대 핵심 기술. IoC /DI 서비스 추상화 AOP. 7.1 SQL 과 DAO 의 분리. SQL 을 설정 파일에서 빈의 프로퍼티로 주입 SQL 문장마다 각각 프로퍼티를 설정 SQL 전체를 맵으로 묶어 하나의 프로퍼티로 설정 SQL 서비스 public interface SqlService {

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

고급자바프로그래밍 (Advanced Java Programming)


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
    Presentation Transcript
    1. 고급자바프로그래밍(Advanced Java Programming) 강원대학교컴퓨터학부 2012년 가을학기 담당교수정충교

    2. 7장 스프링 핵심 기술의 응용

    3. 3대 핵심 기술 • IoC/DI • 서비스 추상화 • AOP

    4. 7.1 SQL과 DAO의 분리 • SQL을 설정 파일에서 빈의 프로퍼티로 주입 • SQL 문장마다 각각 프로퍼티를 설정 • SQL 전체를 맵으로 묶어 하나의 프로퍼티로 설정 • SQL 서비스 public interface SqlService { String getSql(String key) throws SqlRetrievalFailureException; }

    5. 7.2 설정파일로부터 SQL 분리 (인터페이스의 분리와 자기참조 빈)

    6. 7.2.1 Object XML Mapping • JAXB (Java Architecture for XML Binding) javax.xml.bind.Unmarshaller

    7. 7.2.2 XML 파일을 이용하는 SQL 서비스 • XmlSqlService • 생성자에서XML 파일을 읽어 객체를 만들고 이로부터 정보를 추출하여 Map 에 저장해 놓음

    8. 7.2.3 빈의 초기화 작업 • XmlSqlService • XML 파일을 읽어 객체를 만들고 이로부터 정보를 추출하여 Map 에 저장해 놓는 작업을 하나의 메소드로 선언 – loadSql() • @postConstruct애노테이션을 이용하여빈이 생성된 후 loadSql이 실행되도록 함

    9. 7.2.4 변화를 위한 준비: 인터페이스 분리

    10. public interface SqlReader { void read(SqlRegistrysqlRegistry); } public interface SqlRegistry { void registerSql(String key, String sql); String findSql(String key) throws SqlNotFoundException; }

    11. 자신을 참조하는 빈 형태

    12. 7.2.6 디폴트 의존 관계 • 확장 가능한 기반 클래스 – BaseSqlService BaseSqlService

    13. 7.3 서비스 추상화 적용 • 7.3.1 OXM 서비스 추상화 • JAXB • Castor XML • JiBX • XmlBeans • Xstream public interface org.springframework.oxm.Unmarshaller { boolean supports(Class<?> clazz) Objectunmarshal(Source source) throws IOException, XmlMappingException }

    14. 7.3.2 OXM 서비스 추상화 적용 • 스프링의 OXM언마샬러를사용하도록 고정 SqlReader를 SqlService클래스 안에 포함시켜 만든다. 한 개의 빈으로 등록할 수 있다.

    15. 위임을 이용한 BaseSqlService의 재사용 • 리스트 7-54

    16. 7.3.3 리소스 추상화 • 스프링 Resource • 파일을 InputStream으로 사용할 수 있게 해 줌 • 설정파일에서Resource 타입 빈 프로퍼티에 파일 이름을 넣어줌 • 리스트 7-57, 리스트 7-58

    17. 7.4 인터페이스 상속을 통한 안전한 기능 확장 • 인터페이스와 DI를 통한 유연한 확장 구조

    18. 인터페이스 상속을 이용한 확장구조

    19. 7.5 DI를 이용해 다양한 구현 방법 적용하기 • 7.5.1 ConcurrentHashMap을 이용한 수정 가능 SQL 레지스트리 • 7.5.2 내장형 데이터베이스를 이용한 SQL 레지스트리 • 7.5.3 트랜잭션 적용