2022/05/16
(1)
<!-- SqlSessionFactory 인터페이스 타입을 SqlSessionFactoryBean 클래스로 구현 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
</bean>
SqlSessionFactory 인터페이스 타입을 SqlSessionFactoryBean 클래스로 구현?
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBean(); 이렇게 볼 수 있는건가??
해당 소스코드에는 참조변수 이름 sqlSessionFactory만 명시되어 있는데 이게 SqlSessionFactory인터페이스 타입이라는 걸 어떻게 인식 할 수 있는건가??
(2)
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.7.4</version>
</dependency>
메이븐 빌드툴을 이용하여 라이브러리를 사용 할 때 위와 같은 <dependency> 태그를 사용한다.
해당 태그를 통해 라이브러리를 사용 할 때, 원격서버에서 라이브러리를 가져오는 것인가?? 아니면 로컬환경에서 가져오는것인가? 로컬환경에 가져올 수 있을만한 곳이 없는 것 같은데..
그러고보니 <dependency>를 추가하고 maven update를 하면

위의 사진처럼 Maven Dependencies에 라이브러리가 추가 되는 걸 확인 할 수 있다.
그렇다면 첨에 <dependency>를 추가하고 메이븐 업데이트를 할 때에 리모트 서버를 통해 라이브러리를 가져오고, 이 후에는 로컬환경에서 사용 하는 것 인가??