본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


전자정부 프레임워크4

Spring 또는 전자정부, AOP가 되지 않는 경우 스프링을 사용하는 주된 이유중 하나는 바로 AOP라는 강력한 기능 때문이다. 전자정부에서도 이러한 AOP를 사용해서 중복되는 작업을 분리하는데.. 간혹 AOP설정을 아무리 잘 했다고 생각하더라도 되지 않는 경우가 발생한다. 예를들어..컨트롤러에는 안걸리면서 인터페이스를 상속받은 서비스에만 걸리는 경우를 만나기도한다. 그 이유는..스프링 AOP는 2가지 방식이 존재한다. JDK Dynamic Proxy, CGLIB를 이용하여 프록시를 생성하는 방식이다. 돌아다니는 소스코드나 예제는 JDK Dynamic Proxy방식을 활용하는 경우가 많은데.. 해당 구현 방식은 인터페이스를 기반으로 프록시 객체를 생성하기 때문에 인터페이스에 정의되어 있지 않은 메서드에 대해서는 AOP가 적용되지 않는다. 그럴경우에는..C.. 2019. 4. 29.
전자정부 프레임워크(Spring) 파일 다운로드 스프링에서 파일 다운로드 요청이 들어오면 응답하는 방법은 여러가지이다. 그중 FileSystemResource 클래스를 활용한 방법과, 예전스타일의 stream으로 응답하는 방법 2가지가 존재 한다. 그런데, 전자정부 프레임워크 버전에 따라서 FileSystemResource으로 response를 하더라도 '파일을 찾을 수 없습니다' 라는 황당한 오류를 보게 되는 경우가 있다. 정확히 기억나지는 않지만 전자정부 2이하 버전 또는 비슷한 버전에서 간혹 생기기도한다.. 물론 다른 설정을 잘못한 버그일 수도 있겠지만.. 황당한건...오류 메시지나 버그 메시지가 나오지 않아서 디버깅 하기 어려운 경우도 있으니 말이다. 먼저 첫번째 방법은 FileSystemResource으로 들어온 요청에 대해서 파일을 전해주는.. 2019. 4. 29.
스프링 resources로 프로퍼티 읽기 스프링이나 전자정부프레임워크를 하다보면, 프로젝트를 납품하고나서, 급하게 속성값을 수정해야 되는 경우가 있다. 그럴 때 마다 클래스를 수정해서 컴파일해서 넣는행위를 한다면..참 오래걸리고 귀찮으며.. 이에 프로퍼티 형식으로 파일을 읽어오는 방식을 주로 사용한다. *.properties란? 쉽게 요약해서 보면..기계어로 되어있지 않는 파일 이다. 따로 java파일을 class로 만들지 않아도 서버가 알아서 값을 가져가는 파일 정도로 생각하면 될 것 같다. 통상 Mybatis 프레임워크 처럼 db서버 주소, id, password 같은거를 프로퍼티로 빼고나서 설치하는 환경에 따라 바꾸는 행위를 많이한다. 적용방법 1. web.xml에서의 컨트롤러 및 필터 관련된 초기 스프링 세팅이 끝나면 서블릿 컨텍스트 파.. 2019. 4. 29.
전자정부 프레임워크 서비스 전자정부 프레임워크 기반으로 프로젝트를 진행하다 보면, 서비스를 인터페이스로 만든 이후 상속받아서 사용하라고 나온다... 나름 낮은 결합도를 위해서 만든 규칙이라고하는데..만드는 프로그래머 입장에서는 정말 별로인 것 같다. 덕분에 서비스를 만들 때 여러개의 인터페이스를 남발해야 되는 경우가 생긴다. 물론 1개의 인터페이스를 써도 되는데...그러면 안쓰는 메소드까지 오버라이딩해야되는 불쌍사가... 해서..Qualifier 에노테이션을 달아줬다. 서비스를 그냥 쓰게되면 어디껀지 모르는 경우가 좀있다보니, 덕분에 해당 인터페이스를 상속받은 서비스가 정확하게 명시되어서 나름 괜찮았던 것 같다. 인터페이스 public interface Service { public void list(HttpServletReque.. 2019. 4. 29.