우선 전자정부프레임워크와 spring은 매우 밀접한 관계를 가지고 있습니다.
spring에 대해서는 다음에 다시 공부해 보려고 합니다.
spring을 사용하려면 이러한 것들을 설치해야 하는데 maven을 이용하면 간편하게 설치할 수 있습니다.
우선 spring의 구조에서 context가 어떠한 역할을 하고 있는지만 알고 있으면 됩니다.
위의 사진과 같이 maven의 특징을 이용해서 spring context dependency를 가지고 옵니다.
maven의 특징
- 하나의 라이브러리를 등록하면 의존관계에 잇는 모든 것들을 알아서 설치한다.
- 한마디로 Context만 가져오면 다 가져옵니다.
spring-context dependency 받기
전자정부의 spring 버전이 4.3.25를 쓰기에 동일한 버전을 받아줍니다.
Dependency Hierarchy탭에 들어가서 확인하면 context 뿐만 아니라 의존관계인 다른 것들도 같이 설치되는 것을 알 수 있습니다.
log4j 및 slf4j 사용
위와 같은 방식으로 설치하면 됩니다.
<!-- logging framework --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>$</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>$</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>$</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>$</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>$</version> </dependency> <!-- https://mvnrepository.com/artifact/org.lazyluke/log4jdbc-remix --> <dependency> <groupId>org.lazyluke</groupId> <artifactId>log4jdbc-remix</artifactId> <version>0.2.7</version> </dependency>
spring에서 기본적으로 사용하는 common-loggin을 빼줍니다.(빼주지 않을 시 log4j와 충돌이 일어날 수 있음)
이제 스프링 설정 파일을 생성해보겠습니다.
Spring은 기본적으로 CoC(Convention over Configuration) 방식을 적용합니다.
**
Bean : 스프링 컨테이너에 의해 생명주기가 관리되는 객체 Spring container/IoC container/DI container/Bean container
** 이렇게 spring 설정 파일을 관리할 수 있습니다.
Spring은 CoC를 따르기도 하지만 자바빈규약을 따르기도 합니다.
** 주의할 점.
- name은 변수명이 아니라 setter명이다.(메서드)
- 세터 는 기본 생성자가 있다는 전제 하에 동작
- Spring은 기본적으로 singleton으로 동작한다.
- 만약 매 호출 시마다 새로운 객체를 생성하고 싶다면 scope를 설정해야 한다.
모든 빈들에 대해 lazy-init 설정(true일 시 호출할때까지 기다림) 및 singleton에서 prototype으로 변경
Uploaded by Notion2Tistory v1.1.0