본문 바로가기

분류 전체보기122

템플릿(1) / 공통사항 설정 [요약] - 게시판을 만들기 위해 '템플릿' 을 잡아놨다.  1. root-context.xml 위치 이동: WEB-INF - spring - appServlet 2. web.xml 수정 : root-context 경로 수정 contextConfigLocation /WEB-INF/spring/root-context.xml  3. wepapp 폴더 - index.jsp 생성 - index.html 을 VS CODE로 열어 , 에 있는 내용 가져오기.  * index.html 이 메인페이지로 나오는 이유 : apache-tomcat-10.1.25\conf\web.xml    (index.html / index.htm / index.jsp 를 가장 먼저 불러온다) inde.. 2024. 7. 15.
MyBatis [요약] - 쿼리문을  JAVA 클래스에 구성하려면 너무 복잡하다. - 그걸 해결하기 위해 MyBatis로 .xml로 쿼리문을 별도 구성한다. 1. 정의Sql Mapper Framework 중 하나의 종류. SQL 쿼리문을 Mapper라는 파일로 분리해서 관리하는 프레임워크.iBatis라는 프레임워크가 독점적으로 사용되고 있었는데 2010년 구글이 iBatis를 인수하면서 이름이 MyBatis로 변경됐다.요즘 Sql Mapper Framework보다는 ORM 프레임워크(JPA, Hibernates 등)이 성행하고 있다. 2. 구조DAO에 존재하던 쿼리문들을 Mapper라는 별도의 파일로 관리. 스프링프레임워크에서는 xml 파일방식만 지원. 스프링부트에서는 xml파일 방식과 어노테이션 방식도 지원.MyBa.. 2024. 7. 15.
AOP 에서 aspect와 advisor를 사용할 때의 차이점 / Joinpoint와 pointcut의 차이 언제 @Aspect와 Advisor를 사용할지 결정하는 방법전역적인 횡단 관심사를 다루는 경우: @Aspect를 사용합니다. 예를 들어, 로깅, 성능 모니터링, 보안 등.트랜잭션 관리와 같이 특정 프레임워크를 통해 제공되는 기능을 사용하는 경우: Advisor를 사용합니다.횡단 관심사(cross-cutting concern)는 소프트웨어 시스템 전반에 걸쳐 여러 모듈에서 공통적으로 필요로 하는 기능이나 로직을 말합니다. 이러한 횡단 관심사는 특정 모듈이나 계층에 국한되지 않고, 시스템의 여러 부분에 걸쳐 존재하기 때문에 이를 효율적으로 관리하기 위해 AOP(Aspect-Oriented Programming)와 같은 기법이 사용됩니다.예시횡단 관심사의 대표적인 예로는 다음과 같은 것들이 있습니다:1. 로깅.. 2024. 7. 14.
트랜잭션 처리 1. 정의[예시: 은행 계좌 이체]은행 시스템에서 A 계좌에서 B 계좌로 금액을 이체하는 과정을 예로 들어보겠습니다. 이 과정은 여러 단계로 이루어지며, 각 단계가 성공적으로 완료되어야만 전체 트랜잭션이 성공합니다.송금 계좌(A)의 잔액 감소수취 계좌(B)의 잔액 증가이 두 단계 중 하나라도 실패하면 전체 트랜잭션은 롤백되어야 합니다. 예를 들어, A 계좌에서 금액을 차감했지만 B 계좌에 금액을 추가하는 데 실패하면, A 계좌의 차감된 금액도 원래 상태로 복원되어야 합니다.[정의]DB 처리하는 작업 단위DDL(Insert, Delete, Update) 실행 시 항상 commit, rollback 시행되야 트랜잭션이 종료됨스프링에서 AOP 설정을 이용해서 트랜잭션을 처리 2. 스프링에서의 트랜잭션트랜잭션 .. 2024. 7. 12.
JDBC Template [요약] - DB를 활용해서 SQL문을 JAVA 언어로 사용할 수 있다. 1. JDBC Template 정의- GoF의 디자인 패턴 중 템플릿 디자인 패턴이 적용된 클래스- 템플릿 디자인 패턴: 반복되는 작업을 캡슐화하여 재사용할 수 있는 패턴으로 정의하는 방식- DBCP(DataBase Connection Pool)에 DataSource(DB 연결 정보 객체)을 의존성으로 주입받아서 커넥션의 풀을 구성하고 커넥션들을 계속 대여하여 재사용할 수 있는 방식 [결론] 이걸 왜하냐? try~catch~finally 구문을 할 필요 없이 JDBC Template를 이용하여 계속 사용  2. JDBC Template 사용가능 메소드 [1번 방식] update(): insert, update, delet.. 2024. 7. 12.
AOP(Aspect Oriented Programming) / 관점 지향 프로그래밍 / JoinPoiont 인터페이스 2024.07.11 - [분류 전체보기] - AOP(Aspect Oriented Programming) / 관점 지향 프로그래밍 AOP(Aspect Oriented Programming) / 관점 지향 프로그래밍[요약]1. 만들 클라스 - FreeBoardServiceImpl 클래스 - LogConsole 클래스   [내용 정리] 1. Why? (① DB 연동방식의 이해) - DB 연결 요청 시 커넥션의 개수가 계속 증가함으로 인한 메모리 부족을 방지 -maverick11471.tistory.com2024.07.11 - [분류 전체보기] - AOP(Aspect Oriented Programming) / 관점 지향 프로그래밍 / 동작 시점 AOP(Aspect Oriented Programming) / 관점.. 2024. 7. 11.