그렇다면! <Context:component-scan>이란? Bean이 될 수 있는 모든 Component를 자동으로 찾아 Bean container에 등록해준다. 패키지명 이후의 하위 패키지를 검색해 @Component 어노테이션을 포함하는 모든 클래스를 Bean으로 자동 등록해준다.
그렇다면 , annotaion이란? 프로그램 코드의 일부가 아닌 프로그램에 관한 데이터를 제공하는 것이다. 코드에 정보를 추가하는 정형화된 방법이다. 즉, 프로그램에 추가적인 정보를 제공해주는 메타데이터(data를 위한 data) 라고 볼 수 있다. @Component 어노테이션이 달린 클래스를 Bean으로 자동 등록/생성해준다는의미다.
Spring의 좋은 점 중 하나는 connection full을 일일이 지정해주지 않아도된다는 것에 있다.
property 속성값으로 드라이버, 주소,계정,비번을 입력하고
bean의 아이디와 class값을 설정해주면, 이후부터는 connection 을 따로 써주지 않아도 자동연동처리된다.
참 간단하죵?
네번째! mybatis연동
2. Mybatis와 연동
1) dbcp연결
2) java/resource/mybatis.Spring.xml
로 공통 연결 처리..
-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation"
value="classpath:resource/mybatis.Spring.xml" />
</bean>
세번째에 선언해놓은, dataSource라는 DB 연동 소스를 참고하여 mybatis.srping.xml에 값을 매핑시켜준다.
여기서 Mybatis란?
Mybatis는 자바object 와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다.
JDBC의 모든 기능은 mybatis가 대부분 제공하기때문에 JDBC코드를 작성하지 않아도되며,
복잡한 JDBC코드를 걷어낼 수 있기 때문에 깔끔한 소스코드를 유지할 수 있다.
수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다.
다섯번째! DAO의 인터페이스 위치를 설정
3. dao 인터페이스 페이지 위치를 설정..
인터페이스 ==> 인터페이스의 상속받은
실제객체생성(mybatis 프레임웍 XXXmapper.xml)
name="basePackage" value="dao경로1, dao경로2,..."
-->
<bean
class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="springweb.a05_mvc.a03_dao"/>
</bean>
인터페이스의 상속받은 실제 객체를 생성하는 것은 mybatisframework에서 진행한다. xxxmapper.xml
name= "basePackage"로 지정한다면 vlaue="dao경로1" "dao경로2" 의 식으로 작성한다.