본문 바로가기

스터디정리방8

[기록] 220126 1. 스프링이란 무엇인가 : 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크. 경량화 -스프링 자체가 가볍거나 작은 규모의 코드로 이루어진 것은 아니다. -오히려 스프링은 20여개의 모듈로 세분화되고 복잡하고 방대한 코드를 가진 프레임워크이다. -경량화가 특징인 이유는 기존 자바 엔터프라이즈 기술의 불필요한 복잡함에 반대되는 개념에서 시작되었다. -주류 기술이었던 EJB는 고가의 무거운 자바 서버(WAS)가 필요했고, 다루기 힘든 설정파일 구조, 패키징, 불편한 배포 등이 단점이었다. -반면, 스프링은 톰캣과 같은 단순한 서버환경에서도 동작하며, 단순한 개발환경으로도 엔터프라이즈 애플리케이션 개발하는데 충분하다. -또 EJB 등의 기존 프레임워크에서 만들어진 코드에 비해 코.. 2022. 2. 3.
[기록] 220119 1. 스프링 핵심 기술의 응용 -OXM이란 : XML과 자바 오브젝트를 매핑해서 상호 변환해주는 기술을 OXM(Object-XML Mapping) 이라고 합니다. -ORM이란 : 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 ORM(Object-Relational Mapping) 이라고 합니다. -> JPA(인터페이스), Hibernate(jpa의 구현체), Querydsl(정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 비표준 오픈소스 프레임워크로 JPQL을 편하게 작성할 수 있게 만든 빌더 클래스 모음) -MyBatis : 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크 Java Persistence Frame.. 2022. 1. 25.
[기록] 220112 1. Weaving 분리한 관점을 여러 차례 모듈에 삽입하는 것을 AOP에서는 위빙(Weaving: 엮기)이라고 부른다. 즉 공통 코드(Advice)를 핵심 로직 코드에 삽입하는 것이 Weaving이다. Aspect를 target에 제공하여 새로운 프록시 객체를 생성하는 과정을 말한다. Compile-time Weaving, Load-time weaving, Run-time weaving 세가지 방식의 Weaving이 존재하고, Spring AOP에서는 CGLIB Proxy, JDK Dynamic Proxy를 이용한 Run-time Weaving 방식을 제공한다. Spring AOP는 사용자의 특정 호출 시점에 IoC 컨테이너에 의해 AOP를 할 수 있는 Proxy Bean을 생성해준다. 동적으로 생성된.. 2022. 1. 16.
[기록] 220105 1. 인프라 로직 비즈니스 로직 외의 트랜잭션을 걸고 권한을 체크하는 등의 부가기능을 말한다. 애플리케이션 전 영역에 나타날 수 있다 → 중복 코드 비즈니스 로직과 함께 있으면 비즈니스 로직을 이해하기 어려워진다. 횡단 관심사 인프라 로직은 로깅, 트랜잭션, 권한검사, 성능측정 등 하나의 관심사를 갖게 된다. 비즈니스 로직을 수행할 때 인프라 로직의 중복이 횡단으로 나타나기 때문에 이를 cross-cutting concern, 횡단 관심사라고 부른다. 부가기능이라는 것은 횡단의 관심을 가지기 때문에 필수적으로 어떤 부가기능을 어디에 적용해야 하는가라는 질문을 만나게 된다. aspectJ에서는 메소드가 호출될 때, 실행될 때 필드에 접근할때, 객체가 생성될때 등 다양하게 join point를 구현해놨지만,.. 2022. 1. 9.