본문 바로가기

Spring13

[국비지원] KH 정보교육원 116일차 * 트랜잭션 (Transaction, TX) 가. 분산 TX ( == Global TX) - 한 요청 처리에 2개 이상의 연결(Connection)을 사용하여 SQL 처리를 하는 트랜잭션 - 동일한 DB에 2개 이상의 연결 (JDBC Connection)들을 사용 - 각 연결 (JDBC Connection)마다, 각각 다른 DB를 사용 - 개발자가 직접 TCL 사용 불가! (TX 관리자가 대신 수행) - 스프링은 @Transactional 어노테이션으로 TX 관리 - 2PC 사용 (완전하지 않음) : 2 Phase Commit ex) 2개의 데이터 소스 사용 (각각 연결된 DB가 다름) 1st phase : 현재 분산 TX에 참여한 각각의 데이터 소스에게 Commit할 준비가 되어 있는지 물어봄 2nd .. 2022. 9. 14.
[국비지원] KH 정보교육원 115일차 kh day 115 public class LogAdvice { // POJO : Plain Old Java Object // @Before : JoinPoint 메소드 실행 전 동작 // POINTCUT EXPRESSION 생성은, AsepectJ 언어에서 제공하는 함수를 이용 // 이 pointcut 설정함수 이름은 "execution()" // 이 execution 함수를 호출시, pointcut 설정내역을 인자값으로 매개변수에 전달해야함 @Before( "execution( * org.zerock.myapp.service.*Service.*(..) )" ) // 모든 접근제한자의 Service로 끝나는 모든 클래스의 모든 메서드의 모든 매개변수(..)에 적용 public void logBefore.. 2022. 9. 13.
[국비지원] KH 정보교육원 114일차 스프링의 양대 산맥 중 하나인 AOP에 대해 배워보자!!! 프로그래밍 패러다임의 한 종류 OOP - Object Oriented Programming - 객체 지향 프로그래밍 AOP - Aspect Oriented Programming - 관점 지향 프로그래밍 AOP 0) Aspect 구현해야할 핵심 비지니스 로직은 아니지만, 개발할 때의 관심사 (횡단관심사 Cross-Concern) (성능/속도, 자원사용효율성, 트랜잭션(All or Nothing), 로깅, 보안 등) 1) Advice 횡단 관심사(Cross-Concern)를 실제 구현한 객체 (ex) 트랜잭션 처리) 2) Target 핵심 비지니스 로직이 구현된 서비스 객체 (@Service, 비지니스 계층의 서비스) => 관심사들을 적용할 대상! .. 2022. 9. 8.
[국비지원] KH 정보교육원 108일차 kh day 108 chap 15 검색처리 pass restful 방식의 request mapping 방법 습득 및 실습 드가자!!! --- 시대와 기술이 발전하고 스마트폰이 보급되면서 사용자들이 PC기반의 웹브라우저 보다는 모바일 웹브라우저나 앱을 주로 사용하게 됨 더 이상 back end 서버의 역할이 웹 브라우저를 위한 웹 서비스만을 위한게 아니라 순수한 데이터(XML, JSON, 문자열)를 전달하는 역할로 바뀜 단 통신 프로토콜은 여전히 HTTP 프로토콜을 사용 여전히 Requst Message, Response Message 유효함. 대신 요청메시지 바디 안에 데이터(XML, JSON, 문자열)가 존재할 수 있고, 응답메시지 바디 안에도 역시 데이터(XML, JSON, 문자열)가 존재. 다양한 .. 2022. 8. 31.