![[Spring] Java를 이용한 DI 설정 방법](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdkC5qI%2Fbtq1D06luky%2FAAAAAAAAAAAAAAAAAAAAAOqXUdB8qSu1KNY5k-efM7eioKPGh4UlDgD7Jw8rQWkQ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DMciJbSHjTQTiZ7Y6l5GEr%252FTTZ9I%253D)
[Spring] Java를 이용한 DI 설정 방법
- programming/spring
- · 2021. 4. 1.
![[Spring] xml 파일을 이용한 DI 설정 방법](http://i1.daumcdn.net/thumb/C120x120/?fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FYjiRi%2Fbtq1BxXUwqM%2FAAAAAAAAAAAAAAAAAAAAAJi6hcnInpPtBp-Lpu2bgFQoqLQqRTC-_AriZMbnzXA9%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D9FcHzM26kuPkAoUziNJllBT8Q1w%253D)
[Spring] xml 파일을 이용한 DI 설정 방법
- programming/spring
- · 2021. 4. 1.
MyBatis를 이용시 SQL을 처리할 때 어노테이션을 이용하는 방식이 편리하지만 SQL이 복잡하거나 길어지는 경우엔 XML을 이용하는 것을 더 선호합니다. XML을 작성해서 사용할 때에는 XML파일의 위치와 namespace속성이 중요합니다. 태그의 id 속성 값은 메서드의 이름과 동일해야 합니다. 태그의 경우 resultType 속성을 가지는데 이 값은 인터페이스에 선언된 메서드의 리턴 타입과 동일하게 작성합니다.
MyBatis는 흔히 SQL 매핑(mapping) 프레임워크로 분류됩니다. JDBC 프로그래밍 구조와 MyBatis의 비교 JDBC 프로그래밍 MyBatis 직접 Connection을 맺고 마지막에 close() PerparedStatement 직접 생성 및 처리 PreparedStatement의 setXXX()등에 대한 모든 작업을 개발자가 처리 SELECT의 경우 직접 ResultSet처리 자동으로 Connection close() 가능 MyBatis 내부적으로 PreparedStatement 처리 #{prop}와 같이 속성을 지정하면 내부적으로 자동 처리 리턴 타입을 지정하는 경우 자동으로 객체 생성 및 ResultSet처리 MyBatis는 기존의 SQL을 그대로 활용할 수 있다는 장점이 있고, 진..
AOP란 상속을 통한 방법에 한계를 극복하기 위해서 등장한 방법입니다. 핵심 기능과 공통 기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식 입니다. Aspect : 공통기능 Advice : Aspect의 기능 자체 Joinpoint : Advice를 적용해야 되는 부분 (ex. 필드, 메서드) 스프링에서는 메서드만 해당한다. Pointcut : Joinpoint의 부분으로 실제로 Advice가 적용되는 부분 Weaving : Advice를 핵심 기능에 적용하는 행위 스프링에서 AOP를 구현할때는 proxy를 이용합니다. 예를들어 Joinpoint 시작과 끝에서 Advice를 실행할때 Advice는 중간에 끼어드는 것이 아니라 proxy를 통해서 실행됩니다. - XML 기반의 ..
A객체가 어떤 일을 할 때 B객체, C객체 (다른 객체들)에게 도움을 받아서 일을 하게 됩니다. 이를 A객체는 B/C객체에게 의존한다고 합니다. 방법에는 두가지가 있습니다. 첫번째 방법은 A객체가 있고, 필요한 객체를 new B() / newC() 로 직접 객체를 생성하는 방법입니다. 두번째 방법은 A객체가 있고, setter() 또는 construct() 를 이용해서 new B()/ new C() 로 객체를 외부에 생성하여 A객체에 넣어주는 방법입니다. 그리고 스프링에서는 두번째 방법을 사용합니다. 스프링이란 부품을 생성하고 조립하는 라이브러리 집합체라고 할 수 있습니다. setter를 이용할 때, 생성자를 이용할때,