본문 바로가기

Web

(27)
[Java] 직렬화 자바에서 직렬화란? 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사양할 수 있도록 바이트 형태로 데이터를 변환하는 직렬화와, 바이트를 다시 객체로 변환하는 역직렬화가 존재한다. - 자바 상에서 serializable 인터페이스를 사용하는 이유는 해당 객체가 변활될때 서로 동일한 serialVersionUID를 가지고 있음으로써 역직렬화시에 해당 직렬화 및 역직렬화 대상 객체가 동일한 객체임을 판명할수 있습니다. -자바 직렬화 형태의 데이터 교환은 자바 시스템 간의 데이터 교환을 위해 존재합니다. 자바 직렬화의 장점 -복잡한 데이터 구조의 객체라도 직렬화 기본구조만 지키면 큰작업없이 직렬화가 가능하고, 데이터 타입이 자동으로 맞춰지기 때문에 관련 부분을 신경쓰지않아도 역직렬화..
[Spring boot] @ControllerAdvice 어노테이션 @ControllerAdvice 어노테이션을 사용하는 이유는 해당 어노테이션을 달아준 클래스들을 추후에 예외처리 핸들링 하기 위함이다. @ExceptionHandler 어노테이션을 이용하여 즉 @ControllerAdvice 어노테이션을 사용하여 이점은 1. 예외처리 핸들링이 용이해진다.
Spring AOP(Aspect-Oriented Programming): 관점지향 프로그래밍 AOP(Aspect-Oriented Programming) : 관점지향 프로그래밍 공통화 할 수 있는 부분들을 Aspect라는 하나의 단위로 묶어 객체가 본질적으로 해야 할 일만 기술 할수 있도록 한다. AOP의 대척점 기존의 객체 지향 프로그래밍(OOP: Oriented Programming)의 구현된 모듈이 핵심 관점의 구현한 모듈과 긴밀히 결합되어있어 모듈화 및 유지보수가 쉽지않고 실로 모듈화가 잘 된 어플리케이션 클래스를 보더라도 핵심기능을 위한 코드보다 다양한 부가적인 기능과 처리를 위한 부분의 양이 더 많아져 코드의 중복, 모듈화, 유지보수, 유연성 저하 등이 발생하였다. 이와 같이 횡단관심 부분에 AOP를 적용하여 단 하나의 로직만 변경되더라도 모든 소스에 적용된수 있도록 일원화및 모듈화 할..