본문 바로가기

분류 전체보기33

[Spring] Log4j 설정하기(log4jdbc-log4j2) - MySql, mariaDB MyBatis는 내부적으로 JDBC의 PreparedStatement를 이용해서 SQL을 처리한다. 따라서 SQL에 전달되는 파라미터는 JDBC에서와 같이 '?'로 치환되어서 처리된다. SQL을 변환해서 PreparedStatement에 사용된 '?'r가 어떤 값으로 처리되었는지 확인하는 기능을 추가해야 한다. 1. 먼저 Maven Repository에 접속해서 bgee를 검색 후 pom.xml에 추가한다. https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1/1.16 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 2. 프로젝트에서 로그 설정 파일을 추가한다... 2022. 6. 24.
[Spring] @Transactional TransactionalManager 같은 트랜잭션 내에서 같은 Connection을 사용할 수 있게 관리한다. Spring에서 트랜잭션을 사용하는 방법은 첫 번째로 직접 TransactionManager를 사용하여 관리하는 방법이 있다. public void insertA1WithTxManager() throws Exception{ PlatformTransactionManager tm = new DataSourceTransactionManager(ds); TransactionStatus status = tm.getTransaction(new DefaultTransactionDefinition());//Tx의 속성을 정의 try { a1Dao.insert(1, 100); //핵심기능 a1Dao.inser.. 2022. 6. 22.
[Spring] Controller, Service, DAO, DTO Controller 웹에서 처리해야 할 데이터를 받고, 이 로직을 처리할 Service를 선택하여 호출한다. 처리한 데이터를 Model에 담아 다음 페이지에서 볼 수 있도록 이동할 페이지를 리턴한다. @Controller 어노테이션을 이용해 명시해준다. Service 비즈니스 로직을 수행한다. 데이터베이스에 접근할 DAO를 이용해서 결과 값을 받아온다. @Service 어노테이션을 이용해 명시해준다. DAO(Data Access Object) 데이터에 접근하기 위한 객체이다. Database에 저장된 데이터를 읽기, 쓰기, 삭제, 변경의 기능을 수행한다.(CRUD) DB 테이블당 하나의 DAO를 작성한다. 인터페이스의 형태로 구현한다. @Repository 어노테이션을 이용해 인터페이스를 구현한 클래스에.. 2022. 6. 21.
[Spring] AOP 개념 및 라이브러리 설치 AOP(Aspect Oriented Programming) 관점 지향 프로그래밍, 부가기능(advice)을 동적으로 추가해주는 기술이다. 메서드의 시작 또는 끝에 자동으로 코드(advice)를 추가한다. Advice의 설정은 XML과 어노테이션, 두 가지 방법으로 가능하다. target : advice가 추가될 객체 advice : target에 동적으로 추가될 부가 기능 코드 join point : advice가 추가(join)될 대상(메서드) pointcut : join point들을 정의한 패턴 proxy : target에 advice가 동적으로 추가되어 생성된 객체 weaving : target에 advice를 추가해서 proxy를 생성하는 것 String AOP를 사용하기 위해서는 라이브러리 설.. 2022. 6. 17.