* proxy패턴(대리인 패턴)

 

Posted by 조은성
,

 

 

 

 

 

 

 

* 결과보기

-------부서 삽입하기-------
1개의 부서가 삽입되었습니다.DepartmentDTO [departmentId=D0007, departmentName=개발부, location=울산지점]
-------부서 수정하기-----------
1개의 행이 수정되었습니다.DepartmentDTO [departmentId=D0004, departmentName=수정부, location=수정지점]
---------부서 삭제하기---------
1개의 행이 삭제되었습니다.D0005
--------------ID로 조회하기(select)-----------
DepartmentDTO [departmentId=D0007, departmentName=개발부, location=울산지점]
--------전체 조회하기------------
DepartmentDTO [departmentId=D0001, departmentName=개발부, location=서울지점]
DepartmentDTO [departmentId=D0002, departmentName=영업1부, location=서울지점]
DepartmentDTO [departmentId=D0003, departmentName=영업2부, location=부산지점]
DepartmentDTO [departmentId=D0004, departmentName=수정부, location=수정지점]
DepartmentDTO [departmentId=D0006, departmentName=개발부, location=울산지점]
DepartmentDTO [departmentId=D0007, departmentName=개발부, location=울산지점]

 

Posted by 조은성
,

* Spring ibatis 연동 구조 

 

 

 

 

 

 

 

Posted by 조은성
,

 

 

 

 

 

 

 

 

 

 

 

 

* ibatis용 department.xml과 SqlMapConfig.xml은 기존의 ibatis 프로젝트 파일에서 썼던것 을 받아와서 이름만 바꾸고 sql만 지운다. spring.xml은 spring파일로 설정. 나머지는 있는 패키지 대로 설정

 

 

 

 * 톰켓 api등록

 

 

 

 

 

 

 

 

Posted by 조은성
,

1. 설정 파일에 AOP 설정

- XML 스키마 확장기법을 통해 설정파일을 작성한다..

2. POJO 기반 공통 관심사항 로직 클래스 작성

3. XML 스키마를 이용한 AOP 설정

- aop 네임스페이스와 XML 스키마 추가

 

 

Posted by 조은성
,

1. Spring AOP(Aspect-Oriented Programming) 개요(관점지향 프로그램)

① Application을 두가지 관점에 따라 구현

- 핵심 관심 사항(core concern)

- 공통 관심 사항(cross-cutting concern)

② 기존 OOP 보완

- 공통 관심 사항을 여러 모듈에서 적용하는데 한계가 존재

- AOP는 핵심 관심 사항과 공통관심 사항 분리하여 구현

 

 

2. Spring AOP 용어

① Target : 핵심사항(Core)가 구현된 객체

② JoinPoint : 공통관심사항이 적용될 수 있는 지점(ex : 메소드 호출시,

객체생성시 등)

③ Pointcut : JoinPoint 중 실제 공통사항이 적용될 대상을 지정

④ Advice

- 공통관심사항(Cross-Cutting) 구현 코드 + 적용시점.

- 적용 시점 : 핵심로직 실행 전, 후, 정상종료 후, 비정상 종료 후, 전/후가 있다.

⑤ Aspect - Advice + Pointcut

⑥ Weaving : JoinPoint의 Advice에 Aspect를 주입하는 코드를 만드는 것

(컴파일 시점, 런타임 시점 Weaving이 있다.)

 

3. Spring에서 AOP 구현 3가지 방법

① POJO Class를 이용한 AOP 구현

② 스프링 API를 이용한 AOP 구현

③ 어노테이션(Annotation)을 이용한 AOP 구현

 

Posted by 조은성
,

1. Bean 객체의 생성 단위

① BeanFactory를 통해 Bean을 요청시 객체 생성의 범위(단위)를 설정

② <bean>의 scope 속성을 이용해 설정

- scope의 값

 

- request, session은 WebApplicationContext에서만 적용 가능

③ 빈(bean) 범위 지정

- singleton과 prototype

· <bean id="dao" class="dao.OracleDAO" scope="prototype"/>

· prototype은 Spring 어플리케이션 컨텍스트에서 getBean으로 빈(bean)을 사용

시 마다 새로운 인스턴스를 생성함.

· singleton은 Spring 어플리케이션 컨텍스트에서 getBean으로 빈(bean)을 사용

시 동일한 인스턴스를 생성함.

 

2. Factory 메소드를 통한 Bean 주입

① Factory 메소드로부터 빈(bean) 생성

 

- 주의 : getBean()으로 호출 시 private 생성자도 호출하여 객체를 생성한다.

그러므로 위의 상황에서 factory 메소드로만 호출 해야 객체를 얻을 수

있는 것은 아니다.

 

Posted by 조은성
,

 


 

 

 

* 결과

 

 

 

 

 

* 결과

 

Posted by 조은성
,

 


 

 

 

 

* 결과

Posted by 조은성
,

1. <property> 또는 <constructor-arg>의 하위 태그로 Collection값을 설정하는

태그를 이용해 값 주입 설정

 

2. 설정 태그

 

 

3. Collection에 값을 설정하는 태그

- <ref> : <bean>으로 등록된 객체

- <value> : 기본 데이터

- <bean> : 임의의 bean

- <list>, <map>, <props>, <set> : 컬렉션

- <null> : null

 

4. <List>

- List 계열 컬렉션이나 배열에 값들을 넣기.

- <ref>, <value> 태그를 이용해 값 설정

- <ref bean="bean_id" /> : bean 객체 list에 추가

- <value [type="type]>값</value> : 문자열(String), Primitive 값 list에 추가

5. <Map>

- Map계열의 Collection에 객체들을 넣기

· 속성 : key-type, value-type : key와 value의 타입을 고정 시킬 경우 사용

- <entry>를 이용해 key-value를 map에 등록

· 속성

- key, key-ref : key 설정

- value, value-ref : 값 설정

 

 

6. <props>

- java.util.Properties 값(문자열)을 넣기

- <prop>를 이용해 key-value를 properties에 등록

· 속성

- key : key값 설정

· 값은 태그 사이에 넣는다. : <prop key="id">abced</prop>

 

 

 

7. <set>

- java.util.Set에 객체를 넣기

· 속성 : value-type : value 타입 설정

- <value>, <ref>를 이용해 값을 넣는다.

 

Posted by 조은성
,