>

2025/01 4

decorators.xml 파일

📑 decorators.xml 웹 어플리케이션을 구성하고 있는 웹 페이지들은 대부분은 페이지 레이아웃이 동일하게 구성되어 있다. 따라서 동일한 레이아웃을 여러 페이지에 적용하게 된다. 이를 쉽게 할 수 있게 해주는 것이 tiles, velocity, siteMesh 등의 기술이다.Apache Tiles(프레임워크) - , 와 비슷한 역할. 하지만 tiles의 성능이 더 우수.Apache Velocity(템플릿 엔진) - Java 코드에 정의된 객체를 참조하는 템플릿 언어를 제공함. 웹 애플리케이션에서 프레젠테이션 계층과 비즈니스 계층 MVC 패턴에 맞게 분리하는 것을 목표로 함. Tiles나 Velocity 방식이 전체 페이지 중 내용 부분에 해당하는 코드만을 생성하는 방식이라면, SiteMesh는 완..

TIL 2025.01.17

Spring AOP

📑 Spring AOPAOP(Aspect-Oriented Programming): 스프링 프레임워크에서 제공하는 관점 지향 프로그래밍 기술이다.로깅, 보안, 트랜잭션 관리와 같은 공통 관심사를 모듈화하여 코드의 중복을 줄이고 재사용성, 유지보수성, 확장성을 향상시킬 수 있게한다. 객체지향프로그래밍(OOP)의 핵심단위가 클래스인 반면, AOP는 Aspect가 모듈화 단위가 되기 때문에 OOP를 보완해준다.핵심 관심사(원래 각 객체의 기능)와 공통 관심사(여러 객체에서 반복적으로 쓰이는 코드)로 나누어 프로그래밍. AOP의 주요 개념과 구성요소Aspect - 공통관심사항을 정의하는 모듈. Advice, PointCut 및 Introduction의 세 가지 주요 구성 요소를 포함함.Advice - Aspec..

TIL 2025.01.13

Transaction, 생성자와 this, 생성자 주입, json 역직렬화

📑 Transaction논리적 작업 단위(LUW, Logical Units of Work)데이터베이스 시스템에서 복구 및 병행 시행(SELECT, INSERT, UPDATE, DELETE) 시 처리되는 작업의 논리적 단위. 데이터베이스에서 트랜잭션을 조작하는 기능은 사용자가 데이터베이스 완전성(integrity) 유지를 보장하게 한다.*데이터베이스 시스템은 각각의 트랜잭션에 대해 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 영구성(Durability)을 보장한다. 이 성질을 각 첫글자를 따 ACID라고 한다. 이 ACID를 보장하는 것이 트랜잭션 기능. 간단한 트랜잭션은 아래 양식의 SQL 언어로 데이터베이스 내에서 실행된다.Begin the transact..

TIL 2025.01.09

Mybatis foreach문

📑 Mybatis foreach문동적으로 SQL을 처리하는 반복문. collection = 전달받은 인자값(Array 또는 List여야한다)index = 목록의 위치값(index, count, first, last ..)에 대한 참조 지정item = 전달받은 인자값의 새 이름(foreach문에서 사용할 변수명)open = 해당 구문이 시작할 때 넣을 문자close = 해당 구문이 끝날 때 넣을 문자separator = 한번 이상 반복할 때 반복되는 사이에 넣어줄 구분자.  #{item} foreach문에 nullable="true"를 추가하면 컬렉션이 null인 경우 foreach가 무시된다.   사용예시 UPDATE T_BSN_CTMMNY SET USE_YN = 'Y' , UPD..

TIL 2025.01.08