Spring에서의 MyBatis 연동
·
Framework/SPRING FRAMEWORK
1️⃣ 의존성 설정 (jar등록) - 5개의 jar ojdbc6_g.jar ( 오라클 드라이버, 11g Express Edition 버전 ) mybatis.jar (mybatis 라이브러리) spring-jdbc.jar (스프링) spring-mybatis.jar (스프링) commons-dbcp2.jar ( DBCP: DataBase Connection Pool) (스프링) ⇒ 우리는 apache에서 제공해주는 것을 쓴다. 무조건 이걸 쓰는게 아님! # DB 연동 의존성 org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 5.0.8.RELEASE org.apache.commons commons..
(사용자가 만든) bean들을 등록없이 객체 생성하는 방법
·
Framework/SPRING FRAMEWORK
📌 빈을 등록 원래 하던 방식으로 xml 파일에 빈을 등록하여 객체 생성하는 방법을 먼저 복기해보자. DeptMain ——> DeptService ——> DeptDAO ——> DB DeptServiceImpl 다음과 같이 xml에 명시적으로 등록함 📌 빈을 등록하지 않는 방법 ApplicationContext에 생성할 빈들의 정보를 지정해야 된다. (패키지 단위로 생성할 빈 정보를 제공) ⇒ 내부적으로 기능을 포함한다. ⇒ 작성안해도 됨 base-package 에 있는 모든 빈들이 등록되지 않고 명시적으로 마킹해야 된다. 마킹하는 방법은 다음과 같다. @Component : 포괄적인 마킹 방법 @Repository : DAO에 사용하는 마킹 @Service : Service에 사용하는 마킹 @Contro..
AOP_부가기능의 실행시점(advice) - @around
·
Framework/SPRING FRAMEWORK
@Around 핵심기능의 메서드호출전, 호출후, 정상처리, 예외발생시 모두 포함한 경우 (around advice)
AOP_부가기능의 실행시점(advice) - @AfterThrowing
·
Framework/SPRING FRAMEWORK
@AfterThrowing 핵심기능의 메서드 예외발생시 (afterThrowing advice) ✅ 예외 없는 경우 ✅ 예외 있는 경우
AOP_부가기능의 실행시점(advice) - @AfterReturning
·
Framework/SPRING FRAMEWORK
@AfterReturning 핵심기능의 메서드 정상처리시 (afterReturning advice)
AOP_부가기능의 실행시점(advice) - @After
·
Framework/SPRING FRAMEWORK
@After 핵심기능의 메서드호출 후 (after advice) [옵션] JoinPoint
AOP_부가기능의 실행시점(advice) - @Before
·
Framework/SPRING FRAMEWORK
1. AOP 의존성 등록 org.aspectj aspectjweaver 1.9.4 2. 타겟 객체 생성 (핵심 기능 구현한 빈) 3. aspect 객체 생성 (부가 기능 구현한 빈) 가. @Aspect 어노테이션 지정 나. pointcut 지정: 어떤 핵심기능의 메서드인지 알려주는 기능 https://docs.spring.io/spring-framework/docs/5.2.25.RELEASE/spring-framework-reference/core.html#aop-pointcuts-examples Core Technologies In the preceding scenario, using @Autowired works well and provides the desired modularity, but det..
AOP
·
Framework/SPRING FRAMEWORK
AOP (Aspect Oriented Programming : 관점 지향 프로그래밍) 📌개념 어플리케이션의 기능중에서 핵심기능(로그인,회원가입,계좌이체 등) 과 부가기능(보안,트랜잭션,로깅처리,예외처리 등) 을 분리해서 개발하고자 하는 개발 방법론. 핵심기능에서 부가기능이 필요하면 주입받아서 사용한다. 📌기술 AspectJ 이름의 AOP 원천 기술이 존재 (1995년) Spring에서 AspectJ원천 기술 스킬에서 일부분의 스킬을 채택하고 Spring AOP라고 부름. 외부 라이브러리가 필요하다. 외부 라이브러리 org.aspectj aspectjweaver 1.9.4 ​ 용어 📌 주입시점 (Join Point) login 메서드 호출시 ★★★ ⇒ 부가기능이 핵심기능에 주입되는 시점은 핵심기능의 메서드..
SpEL - Collection Projection (열 선택)
·
Framework/SPRING FRAMEWORK
📌 value="#{ 컬렉션id값.![ 열 ] }" 컬렉션 목록에서 특정 값(변수)만 가져올 때 사용한다.( 문자열로 반환 ) .![ ] 을 사용한다. 1️⃣ 이름만 얻어오고 싶은 경우 ✅ Person.java - username만 저장하는 list 변수를 작성한다. - getter/setter 생성한다. ✅ user.xml value="#{id값.![변수명]}" ✅ TestMain.java 2️⃣ age lt 10인 이름만 출력
SpEL - Collection selection (행 선택)
·
Framework/SPRING FRAMEWORK
📌 SpEL용 컬렉션 참조 📌 전체목록 ✅ Person.java - List 변수를 작성한다. - getter / setter를 작성한다. ✅ user.xml - util namespace를 체크한다. - p namespace 체크한다. - cat을 여러 개 만든다. - Person 빈 등록 ✅ TestMain.java 📌 value = "#{id값[인덱스]}" value = "#{id값[인덱스]}" 📌 value = "#{id값.?[조건식]}" value = "#{id값.?[조건식]}" 조건식에는 꺾쇄가 불가하다. 📌 조건식 여러개 : and 조건식 여러개 : and 결과 💡 심볼릭 연산자의 영문 표현 lt () le (≤) ge (≥) eq (==) ne (≠) div (/) mod (%) not (..
xoo | 수진