스프링과 비교되는 EJB는 모든 비즈니스 메소드에 대한 트랜잭션 관리를 EJB 컨테이너가 자동으로 처리해준다. 스프링에서도 EJB와 마찬가지로 트랜잭션 처리를 컨테이너가 자동으로 처리하도록 설정할 수 있는데, 이를 선언적 트랜잭션 처리라고 한다. 1. 트랜잭션 네임스페이스 등록- applicationContext.xml의 namespace탭에서 tx를 선택한다. 2. 트랜잭션 관리자 등록- 어떤 기술을 이용하여 데이터베이스 연동을 처리했느냐에 따라 트랜잭션 관리자가 달라진다.- 모든 트랜잭션 관리자는 PlatformTransactionManager 인터페이스를 구현한 클래스들이다.123456public interface PlatformTransactionManager { TransactionStatus ..
1. JdbcTemplate 클래스- DB 연동 시 connection, close 등에 필요한 자바 코드를 대신 처리해 준다.- GoF 디자인 패턴 중 템플릿 메소드 패턴이 적용된 클래스이다.>>> 템플릿 메소드 패턴은 복잡하고 반복되는 알고리즘을 캡슐화해서 재사용하는 패턴으로 정의 할 수 있다.- 반복되는 DB 연동 로직은 JdbcTemplate 클래스의 템플릿 메소드가 제공하고 개발자는 달라지는 SQL 구문과 설정값만 신경 쓰면 된다. 2. 스프링 JDBC 설정2-1. 라이브러리 추가- DBCP, jdbc 관련 설정을 추가한다.>>> 책에 jdbc 표시를 애매하게 해놔서 뒤에 import가 안돼서 삽질했다...- 설정 추가 후 maven dependency에 dbcp, jdbc관련 라이브러리가 생성..
1. 어노테이션 기반 AOP 설정- 엘리먼트만 선언하면 스프링 컨테이너는 AOP 관련 어노테이션들을 인식하고 용도에 맞게 처리해준다.12345678910111213141516 Colored by Color Scriptercs 2. Before 어드바이스1234567891011121314151617@Service@Aspect // Aspect = Pointcut + Advicepublic class BeforeAdvice { // Pointcut @Pointcut("execution(* com.springbook.biz..*Impl.*(..))") public void allPointcut() {} // Advice @Before("allPointcut()") public void beforeLog(Joi..
- Total
- Today
- Yesterday
- aspect oriented programming
- 의존성 주입
- multiple SLF4J bindings
- SqlSessionFactoryBean
- LoggingEvent
- afterCompletion
- 어노테이션
- 컨트롤러
- postHandler
- ViewResolver
- setter 인젝션
- 의존성
- handlermapping
- 검색
- JoinPoint
- preHandler
- Controller
- blocking
- exclude-mapping
- XmlWebApplicationContext
- @Autowired
- 스프링 컨테이너
- java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent
- NoClassDefFoundError
- application context
- aop
- 횡단 관심
- servlet context
- Class path contains multiple SLF4J bindings
- #java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent삭제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |