반응형 분류 전체보기110 POJO 정리 토비의 스프링을 탐독하면서 나온 단어중 POJO라는 개념이 있어서 간단히 정리한다. POJO를 알기전에 EJB부터 알아보자. EJB EJB에 대해서 간단하게 이야기 하자면 Enterprise Java Bean의 약자로 처음에는 분산처리를 위해 탄생했다. EJB스펙을 구현한 여러가지 제품이 출시 되었다. 그렇게 시간이 지나면서 EJB를 사용하면 DB연결, 트랜잭션, 보안 등에 신경을 쓰지 않아도 되었다. 어느새 분산처리를 위해 탄생한 EJB가 어느새 웹 어플리케이션 권장 설계가 되었다. EJB를 사용하면 어플리케이션 핵심 로직과 비즈니스 로직을 일부분 분리하는 데 성공하긴 했다. 그러나 EJB환경에서 동작하기 위해서는 1. 특정 인터페이스를 구현 해야 했고 2. 특정 클래스를 상속 해야 했고 3. 서버의 .. 2023. 2. 15. 데이터 중심 아키텍처(DB/SQL 중심) DB/SQL중심으로 시스템을 설계하는 아키텍처를 데이터 중심 아키텍처라고 한다. 데이터 중심 아키텍처의 특징은 하나의 업무 트랜잭션에 모든 계층으 코드가 종속되는 경향이 있다는 거다. 예를들어 사용자의 이름을 검색하는 기능을 구현할때 모든계층(프레젠테이션, 서비스, 데이터엑세스(DAO))가 이 기능에 맞춰서 만들어진다. 사용자 이름을 검색하는 SQL또는 저장 프로시저로 작성하고 SQL결과를 1대1로 매핑하여 MAP에 담고 그대로 화면에 보여준다. 서비스계층은 별로 할 일이 없다. 화면, 어플리케이션, DB의 3티어 어플리케이션이지만 어플리케이션은 화면과 DB를 연결해주는 단순한 인터페이스 역할을 전락해버리고 자바의 오브젝트는 단지 HTTP 서비스 채널을 만들어 주고 DB 연결 기능을 제공하는것으로 역할이.. 2023. 2. 8. AOP 개인 저장용 토비의 스프링 6장 드럽게 어렵던데 잊을만 하면 다시 읽어보려고 개인저장용 Aop란 무엇인가? 비즈니스 로직을 담은 UserService에 트랜잭션을 적용해온 과정을 정리해보자. 트랜잭션 서비스 추상화 dao단위의 트랜잭션을 service단위로 변경하기 위해서 비즈니스 로직과, 트랜잭션 경계설정 코드가 함께있는 코드를 작성하니 특정 트랜잭션에 기술이 종속되는 코드가 되어 버리는 문제가 발생했다. JDBC를 사용할때는 로컬 태랜잭션 방식을 적용한 코드 JTA를 사용할때는 글로벌/분산 트랜잭션 방식을 적용한 코드 등 어떤것을 사용하느냐에 따라 트랜잭션 적용 코드를 수정해야 하는 일이 생겼다. 그렇기에 트랜잭션과 직접 관련이 없는 코드가 담긴 많은 클래스를 일일이 수정해야 했다. => 서비스 추상화 기법 적용.. 2022. 12. 28. 포인트컷 표현식 Sample Code package pointcut; /* * 스프링은 아주 간단하고 효과적인 방법으로 포인트컷의 클래스와 메소드를 선정하는 알고리즘을 작성할수 있는 방법을 제공한다. * 정규식이나 JSP,EL과 비슷한 일종의 표현식 언어를 사용해서 작성할 수 있도록 하는 방법이고 * 이것을 포인트컷 표현식 이라고 부른다. * * 포인트컷 표현식 * AspectJExpressionPointcut은 클래스와 메소드의 선정 알고리즘을 포인트컷 표현식을 이용해 한 번에 지정할 수 있게 해준다. * 포인트컷 표현식은 자바의 RegEx클래스가 지원하는 정규식처럼 간단한 문자열로 복잡한 선정조건을 쉽게 만들어낼 수 있는 강력한 표현식을 지원한다. * * 사실 스프링이 사용하는 포인트컷 표현식은 AspectJ라는 유명 프레임워크에서 제공.. 2022. 12. 25. 이전 1 ··· 8 9 10 11 12 13 14 ··· 28 다음 반응형