여름나라겨울이야기 240

001. Servlet - HTML 로 개발자 피로감 상승 시키기

선수 강좌: Spring 3.0 / 안 보신 분들은 다녀오세요. http://expert0226.tistory.com/category/%EA%B0%95%EC%A2%8C/Spring%203.0 OR http://expert0226.tistory.com/187 ~ 쭈욱 선수 지식: HTML 추천 서적: Head First Java / Head First JSP 사전 준비: JDK 5.0 이상, Tomcat v6.0 이상, STS 최신 설치본 이전 Spring 3.0 강좌 공개 후 Spring MVC 를 다루어달라고 하시는 몇몇 분들의 요청에 의거하여 작성하는 강좌는 아니고 역시 저의 야메(!) 지식 업그레이드와 댓글 놀이를 위해 작성하는 강좌입니다. 이 강좌를 우습게 보시기 위해 필요한 지식은 HTML, J..

강좌/Spring @MVC 2013.02.25

016. OOP 추상화 = 모델링

지난 시간 추상화라는 단어의 일반적인 뜻을 알아봤습니다. 추상화란 구체적인 것을 분해해서 관찰자가 관심있는 특성만을 가지고 재조합하는 것이라고 정리할 수 있습니다. 이렇게 정리되시지 않았다구요. 그건 제 잘못입니다. 설명을 제대로 못한 것이죠. ^^ 일단 위의 개념을 머리 속에 두시고 OOP 의 추상화로 이야기를 전개해 보도록 하겠습니다. 객체지향의 4대 특성은 무엇을 통해 구현 될까요? 네 바로 클래스를 통해 구현 됩니다. 또는 객체라고 할 수도 있겠구요. 그런데 여기서 클래스와 객체에 대해서 이야기를 하고 넘어가야 할 듯 합니다. 붕어빵틀 vs 붕어빵은 지금 이 순간부터 버리십시요. 버리셨죠.. ^^ 그럼 먼저 클래스가 뭔지, 객체가 뭔지 이해하기 위해 질문부터 던져보겠습니다. 쥐는 클래스일까요? 객..

강좌/Spring 3.0 2013.02.07

015. 추상 / 추상화

흠 잊고 있었는데 댓글로 추상화 강좌에 대한 이야기가 나와서 이렇게 다시 자판에 앞발을 올려봅니다. 흠흠 추상화 관련 부분은 제가 작성한 부분이 지루하거나 난해할 수 있음으로 건너 뛰시고 바로 스프링 관련 서적으로 가시는 것도 나쁘지 않습니다. ^^ 추상화는 프로그래밍에서 무척 다양한 의미로 사용되는 용어입니다. 일단 객체지향프로그래밍(OOP)에서 말하는 추상화부터해서 스프링의 추상화까지 살펴보면 의미가 달라보이기까지 하는데요. 그러나 결국은 같은 용어를 사용한다면 그 안 깊숙히 숨겨져 있는 공통적인 의미가 있겠죠. 일단 추상화는 영어로 Abstraction 이 되겠습니다. 일단 가장 기초가 될 것 같은 OOP 추상화를 설명할 거라 기대하셨다면 그 기대를 제가 살짝 뭉개 드리도록 하겠습니다. ^^ OOP..

강좌/Spring 3.0 2013.02.06

Spring3.0 스케줄링

Spring 설정 XML 파일 (context-schedule.xml) task 네임스페이스 추가 xmlns:task=http://www.springframework.org/schema/task xsi:schemaLocation=" http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd" task 를 @ 애너테이션 기반으로 자동 검색 또는 아래와 같이 구체적으로 기술 Java 소스 package tipNTech.schedule; import org.springframework.stereotype.Component; import org.springframework.sched..

014. 애너테이션 기반 DI, AOP, 스프링 설정 파일

기존 소스를 가지고 애너테이션을 이용해서 스프링 설정이 얼마나 간편해지는지 알아보도록 하겠습니다. 유지보수는? 더 힘들어집니다. ㅡㅡ; 앞의 강좌들을 쭈욱 보신 분들만 이해 가능합니다. aop006 패키지를 만들고 기존 aop005 패키지 밑에 모든 파일들을 복사 붙여 넣고 수정하시면 빠릅니다. 먼저. expert.xml 입니다. component-scan 이 들어오면서 태그들이 몽땅 사라졌습니다. 헐... component-scan 은 으로 설정 파일에 등록했던 내용들을 별도의 등록없이, 주어진 base-package 밑에 스캔(처음부터 끝까지 살펴보며)하며 자동으로 bean 으로 등록해 줍니다. 자동이기 하지만 Bean 되어야할 클래스가 무엇인지 표식은 해줘야겠지요. 그럼 기존에 Bean 으로 등록되..

강좌/Spring 3.0 2013.01.23

013. AOP - 기초 완성

이번 시간에는 Before 어드바이스와 After 어드바이스를 살펴보도록 하겠습니다. 그런데 이미 AOP 이전 강좌에서 Before 어드바이스를 살펴봤네요. 그래서 생략.. 다만 기억할 것은 Before 어드바이스는 해당 Jointpoint 메서드 실행 전에 실행 된다는 사실을 기억해 주시면 되겠습니다. 그럼 After 어드바이스는? 당연히 해당 Joinpoint 메서드 실행 후에 실행되겠군요. 소스로 이야기해 봅시다. 기존 aop003 패키지를 복사해서 aop004 패키지를 만들었습니다. 변할 곳은 짐작이 되시나요? 네 딱 두 곳입니다. Advice 를 만드는 클래스와 Spring AOP 설정이죠. 변경된 MyAspect.java 입니다. package aop004; import org.aspectj...

강좌/Spring 3.0 2013.01.23

012. AOP 일단 덤벼 보자 - POJO & XML 기반 AOP

이번 강좌에서는 기존에 작성한 AOP 예제를 애너테이션(@) 기반에서 POJO & XML 기반으로 변경해 보도록 하겠습니다. POJO 가 뭔지 모르신다구요? 그건 다른 강좌를... 설명하기가 그리 길진 않치만... 제가 게을러서이기도 하지만... 자꾸 삼천포로 안 빠지려구... 계속 변명 중... 이 시간에 설명했으면 이미... 그래도 지나갔으니.. 쿨락 변경할 곳은 딱 2 군데 뿐입니다. 먼저 MyAspect.java 되겠습니다. 기존 신규 @ 애너테이션 기반 SpringFramework 종속 POJO & XML 기반 SpringFramework 에 대한 종속성이 없음 package aop002; import org.aspectj.lang.JoinPoint; import org.aspectj.lang...

강좌/Spring 3.0 2013.01.23

011. AOP 일단 덤벼 보자 - 용어편

모든 조직은 그들만의 용어가 있습니다. 그 용어를 이해하지 못하면서 그 조직을 이해한다는 생각는 오해를 낳을 뿐이죠. AOP 에서도 그들만의 용어가 있는데 그 용어들을 소스와 비교해서 정리해 보겠습니다. Aspect Advisor Advice Pointcut Joinpoint 위 5 가지 용어가 AOP 를 이해하는데 필수이면서 전부인 용어입니다. 그리고 Spring AOP 에 숨어있는 Proxy.. 이건 앞 강좌를 참고하세요. 그럼 쉬운 순서로 설명해 보겠습니다. Pointcut - 자르는 지점??? Aspect 적용 위치 지정자!!! package aop002; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.Aspect; i..

강좌/Spring 3.0 2013.01.23

010. AOP 일단 덤벼 보자 - 설명편

지난 009 강좌를 통해 횡당관심사항을 완벽하게 분리하는 예제를 실습해 보았는데요. 이번 강좌에는 이론적인 토대를 마련해 보도록 하겠습니다. AOP 적용 전후의 Boy.java 와 관련 코드를 비교해 보도록 하겠습니다. AOP 적용 전 AOP 적용 후 package aop001; public class Boy { public void housework() { System.out.println("열쇠로 문을 열고 집에 들어간다."); try { System.out.println("컴퓨터로 게임을 한다."); } catch (Exception ex) { if(ex.getMessage().equals("집에 불남")) { System.out.println("119 에 신고한다."); } } finally { ..

강좌/Spring 3.0 2013.01.23
반응형