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

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

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


스프링10

Spring 또는 전자정부, AOP가 되지 않는 경우 스프링을 사용하는 주된 이유중 하나는 바로 AOP라는 강력한 기능 때문이다. 전자정부에서도 이러한 AOP를 사용해서 중복되는 작업을 분리하는데.. 간혹 AOP설정을 아무리 잘 했다고 생각하더라도 되지 않는 경우가 발생한다. 예를들어..컨트롤러에는 안걸리면서 인터페이스를 상속받은 서비스에만 걸리는 경우를 만나기도한다. 그 이유는..스프링 AOP는 2가지 방식이 존재한다. JDK Dynamic Proxy, CGLIB를 이용하여 프록시를 생성하는 방식이다. 돌아다니는 소스코드나 예제는 JDK Dynamic Proxy방식을 활용하는 경우가 많은데.. 해당 구현 방식은 인터페이스를 기반으로 프록시 객체를 생성하기 때문에 인터페이스에 정의되어 있지 않은 메서드에 대해서는 AOP가 적용되지 않는다. 그럴경우에는..C.. 2019. 4. 29.
페이징 처리, 페이징 클래스 관계형 데이터베이스와 관련된 프로젝트에서는, 대부분의 고객들이 페이징 처리를 무척이나 좋아하고 원한다. 페이징 알고리즘은 한번 만들어두면 나중에는 복붙형식으로 쓰이는데.. 한번 만들 때 워낙 햇갈리고 짜증나는일임에 틀림없다. 아래소스코드는 총 갯수, 크기, 보여질 갯수 및 현재 페이지수를 받아서 HashMap으로 페이징과 관련된 데이터를 리턴하는 클래스이다. import java.util.HashMap; public class PageUtilBean { /* total : 총 페이지 * pgSize : 한개 페이지에서 보여질 갯수, 리스트의 숫자 * ROWSIZE : 하단에 보여질 페이징 갯수, 클릭해서 이동할 페이지숫자 * curPage : 현재 페이지 */ public HashMap makePageD.. 2019. 4. 29.
스프링 resources로 프로퍼티 읽기 스프링이나 전자정부프레임워크를 하다보면, 프로젝트를 납품하고나서, 급하게 속성값을 수정해야 되는 경우가 있다. 그럴 때 마다 클래스를 수정해서 컴파일해서 넣는행위를 한다면..참 오래걸리고 귀찮으며.. 이에 프로퍼티 형식으로 파일을 읽어오는 방식을 주로 사용한다. *.properties란? 쉽게 요약해서 보면..기계어로 되어있지 않는 파일 이다. 따로 java파일을 class로 만들지 않아도 서버가 알아서 값을 가져가는 파일 정도로 생각하면 될 것 같다. 통상 Mybatis 프레임워크 처럼 db서버 주소, id, password 같은거를 프로퍼티로 빼고나서 설치하는 환경에 따라 바꾸는 행위를 많이한다. 적용방법 1. web.xml에서의 컨트롤러 및 필터 관련된 초기 스프링 세팅이 끝나면 서블릿 컨텍스트 파.. 2019. 4. 29.
Spring 비동기 응답(Spring async, Spring EnableAsync) ajax나 form테그에서의 submit등을 통하여 어떠한 요청을 한 뒤에 바로 응답을 요구하는 경우가 있었습니다.(결과에 상관없이) 이럴 때 간단하게 해결하는 방법은, 요청 받는 메소드 내부에 thread를 만들어서 비지니스 로직은 따로 수행하게 하고 응답은 바로 되돌려주면 가능 합니다. @Controller public class ZController { @RequestMapping(value = "/요청", method = RequestMethod.POST) @ResponseBody public String test(@RequestParam HashMap param) { new Thread(()-> { //서비스 클래스에서 비지니스로직을 수행 }).start(); return "SUCC"; } } .. 2019. 4. 25.