Tagged

Spring

A collection of 40 posts

Spring

Spring @PathVariable에 대한 에러 처리는 어떻게 할까

@RequestMapping(method = RequestMethod.GET, value = "/shuttle/{number}") public ResponseEntity shuttle(@PathVariable int number) { // } 뭐 이런 API를 만든다고 했을 때 스프링으로 number에 해당하는 부분을 손쉽게 타입 변환까지 거쳐서 int로 받아 사용할 수 있다. 그런데, 만약 입력한 값이 int 타입이 아니라면 무슨 일이 생길까. 스프링은 무슨 값이 오던 int 타입으로 타입 변환을

Spring

[Thymeleaf] 스프링에 타임리프 연동하기

매우 쉽습니다. ViewResolver만 바꿔주면 됩니다. 기존에 JSP뷰를 사용하고 있었다면 InternelResourceVewResolver를 사용해서 JSTL뷰를 설정한 다음 prefix와 suffix 정도를 설정해서 사용하고 있으실텐데요. ThymeleafViewResolver로 바꿔주시면 됩니다. 그리고 ThymeleafViewResolver가 필요로하는 빈도 몇개 등록해야되구요. 아.. 그전에 메이븐 의존성부터 추가하셔야겠군요. 저는 스프링 자바 설정을 사용했는데 코드 보시면 XML 설정으로도 쉽게 설정하실 수 있으실 겁니다. Please specify

Async Servlet

[스프링 3.2] 비동기 서블릿 지원 맛보기

https://github.com/SpringSource/spring-framework/pull/69 https://github.com/rstoyanchev/spring-mvc-async-sample 흠냐.. 맨 위에껀 스프링 3.2에 작업중인 코딩 내역이고 아래 링크는 실제로 어떻게 사용할 수 있는 보여주는 예제 프로젝트입니다. 로센이 작업했네요. 멋쟁이. 예제 프로젝트를 받아서 돌려봤는데 매우 깔끔하게 동작합니다. 뷰를 Thymeleaf라는 것을 사용했는데… 흠.. JS랑 맛물리는 뭔가가

@WebServlet

[Servlet 3.0 @WebServlet]스프링 DispatcherServlet을 서블릿 3.0 @WebServlet으로 올려볼까?

서블릿 3.0에 web.xml없이 애노테이션만 추가하면 서블릿으로 자동 등록되는 기능이 생겼다. http://www.servletworld.com/servlet-tutorials/servlet3/webservlet-annotation-example.html 자세한 내용은 여기 있고.. 우선, pom.xml에 의존성을 추가해야한다. Please specify a Gist URL or ID. 이렇게 두개가 필요하고, 이런류의 의존성은 보통 provided 스코프로 사용하게 좋은 습관이다. 왜그런지는 생략; Please

스프링

Whiteship’s 스프링 트러블슈팅 서비스

그동안 제 블로그 방명록이나 이메일로 스프링 관련 이슈를 문의해 오신 분들이 제법 있습니다. 블로그를 티스토리에서 워드프레스로 옮긴 뒤로는 질문이 많이 줄었지만 그래도 다시 간간히 질문이 올라오더군요. 그 중에서도 스프링 관련 질문, 또 그 중에서도 문제 상황만 골라서 해결해 드리고자 합니다. 제 블로그 방명록 옆에 새로 페이지를 만들어 뒀습니다. 많이 이용해

Spring

Spring Custom XML Namespace 만들기 2. 레퍼런스

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/extensible-xml.html 레퍼런스를 보자. 초반에 먼저 개략적인 개발 단계가 나온다. 커스텀 엘리먼트를 기술할 XML 스키마 작성 NamespaceHandler 구현체 코딩(매우 간단하고 쉬움) BeanDefinitionParser 구현체 코딩(실제 작업할 부분) 위에서 만든것들 스프링에 등록하기(매우 간단하고 쉬움) 근데.. 왠지 이거 순서가

Custom Namespace

Spring Custom XML Namespace 만들기 1. 사전 조사

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/extensible-xml.html 스프링 2.0부터 커스텀 XML 빈 설정 파서를 작성해 스프링 IoC 컨테이너에 연동할 수 있었다. 이 기능은 사실 최초의 Epril 세미나이자 KSUG의 시발점이 되었던 세미나에서 토비님이 발표하셨던 내용이다. Spring 2.0의 XML 확장기능(1) Spring 2.0의

@Async

[스프링 3.0] @Async 테스트

@Async 애노테이션을 사용한 메서드의 반환 타입은 둘 중 하나여야 합니다. void 거나.. java.util.concurrent.Future 타입이어야 한다네요. 뭐.. 그러니까 사실상 하나나 마찬가지이죠. 그렇다고 해서 다른 리턴타입으로 설정하면 비동기로 동작하지 않는 건 아닙니다. 다만;; 해당 메서드의 클라이언트 입장에서 보면 리턴값이 전부 null 이기 때문에 황당한 경우가 발생할테지만 말이죠. 스프링에서 Future

Dynamic Language Suuport

그루비 사용자와 스프링

스프링의 동적 언어 지원 기능은 2.0 버전부터 두각을 드러냈지만 ‘아.. 이런 기능이 있네..’ ‘오.. 되는구나..’ 정도로 간단한 예제를 몇 개 실험해봤을 뿐 어떻게 활용해야 할지는 전혀 몰랐는데 관련 기사가 developerWorks에 떴습니다. 두 개씩이나.. Groovier Spring, Part 1: Integration basics Groovier Spring, Part 2: Change application

성능 최적화

스프링을 사용하는 애플리케이션의 성능 최적화 방안

참조: Spring In Production White Paper 번역, 요약, 편역: 백기선 어떻게 하면 스프링을 사용한 애플리케이션의 성능을 향상 시킬 수 있을까? 처음으로 할 일은 성능을 측정하여 핫스팟을 발견하고 변경으로 인해 얻을 수 있는 이점을 정량화 한다. 최적화는 두 분류 효율적인 청사진 만들기(설정 튜닝하기)와 효율적인 런타임 기능 사용하기(애플리케이션 설계

AspectJ

AspectJ와의 연동을 고려한다면, 포인트컷을 최소화 해야합니다.

무슨 이야기냐면, 최소 권한 원칙인가… 그런거랑 비슷한겁니다. 바로 예제를 보면서 살펴보죠. @Aspect public class HibernateExceptionToDataAccessException {     @Pointcut(“@within(org.springframework.stereotype.Repository)”)     public void accountHibernateExceptionInDao(){}     @AfterThrowing(pointcut=”accountHibernateExceptionInDao()”, throwing=”e”)     public void translateHibernateException(HibernateException e){  

스프링 AOP

개발에 필요한 AOP 뭐가 있을까?

1. 간단한 메소드 성능 검사  개발 도중 특히 DB에 다량의 데이터를 넣고 빼는 등의 배치 작업에 대해서 시간을 측정해보고 쿼리를 개선하는 작업은 매우 의미가 있을 겁니다. 그럴 때 귀찮게 매번 해당 메소드 처음과 끝에 System.currentTimeMillis();를 쓰거나, 스프링이 제공하는 StopWatch 코드를 집어넣고 빼긴 뭐 합니다. 그런식으로 테스트 해보고

annotation-config

context:component-scan 엘리먼트는 annotation-config도 등록해줌.

이클립스에서 F2를 이용해서 읽어봤습니다. Scans the classpath for annotated components that will be auto-registered as  Spring beans. By default, the Spring-provided @Component, @Repository,  @Service, and @Controller stereotypes will be detected. Note: This tag implies the  effects of the ‘annotation-config’ tag, activating @Required, @Autowired,  @PostConstruct,

LOG4J

log4j 설정 파일 위치를 명시적으로 설정하고 싶을 때..

Junit4 기반 테스트시 Log4 설정파일 위치 지정 방법이 있을까요? 질문에 답이 있었습니다. 질문의 내용은 웹 애플리케이션이 돌아갈 때 사용할 log4j 설정파일은 web.xml에서 설정할 수 있었는데, 테스트 할 때 사용할 설정 파일의 위치는 어떻게 설정할 수 있느냐 입니다. 저도 잘 모르겠어서 어떻게 해야 되지? 라는 고민을 하다가 가장 먼저 떠오른