본문 바로가기

Web/Spring

(55)
JSR 303 어노테이션을 이용한 Validation 수행 JSR 303 어노테이션을 이용한 유효성검사 보통 웹 개발을 하다보면 컨트롤러에서 값을 받아와서 해당 객체의 변수의 유효성 검사를 위한 로직을 넣어봤을 것이다. 하지만 일일이 유효성 검사 로직을 넣는다는 것은 굉장히 불편한 일이다. 여기서 사용할 수 있는 어노테이션이 있다. @Controller@RequestMapping("/rest")public class AController{@Autowiredprivate AService aService; @RequestMapping("/.....")public ADto getADto(@Valid ADto aDto){ =>Dto 클래스에 정의한 어노테이션으로 유효성검사 진행......return aDto;}} public class ADto{@NotNullpriva..
@Value 어노테이션 @Value 어노테이션(SpEL 이용)@Componentpublic class Sample{@Value("Some currency")private String currency;} @Componentpublic class Sample{@Value("#{configuration.environment}")private String environment;@Value("#{configuration.getCountry()}")private String country; @Autowiredpublic void printCountry(@Value("#{configuration.getCountry()}" String country)}System.out.println(count); =>메소드 및 생성자 인자에 @Value를..
JSR 250 / 330 어노테이션들의 사용법 @Inject / @Named 어노테이션JSR 330(자바 의존성 주입)은 자바 플랫폼을 위한 의존성 주입 어노테이션을 표준화해서 스프링의 @Autowired 및 @Qualifier 어노테이션과 비슷한 @Inject 및 @Named 어노테이션을 정의하고 있다. @Service("abc")public class A{@Autowired @Qualifier("bb")private B b;} 이러한 클래스와 대비해서 @Inject & @Named 어노테이션을 적용해보면 @Named("abc")public class A{@Inject@Named("bb")private B b;} 이와 같이 동일하게 적용할 수 있다. 즉, @Named 같은 경우 클래스 레벨에 적용되면 @Component,@Service 등등과 같은..
Springframework <bean> depends-on 속성 의 depends-on 속성 applicationContext.xml에 빈정의에 대한 설정을 모두 마치고 실행하게 되면 빈의 생성은 선언한 순서대로 생성이 된다.(만약 의존하는 빈이 다른 위치에 있다면 그 빈을 먼저 생성하고 다시 순서대로 내려온다.) 하지만 명시적으로 의존성이 들어나지 않고 암시적으로 빈이 어떠한 다른 빈을 의존하고 있는 경우가 있을 수 있다. 만약 명시적으로 의존이 들어나 있다면 스프링컨테이너는 알아서 순서에 맞춰 빈을 생성해 주지만 암시적으로 겉으로 들어나지 않은 의존성 같은 경우는 컨테이너도 어쩔수가 없다. 예를 들면, 1234567891011121314 Colored by Color Scriptercs eventSenderSelectorService라는 빈이 생성될때, appCo..
Springframework(스프링) util schema 사용하기 스프링프레임워크 util schemaspring xml 빈설정을 할때 util 스키마를 이용하여 List,Map,Set,Property 타입 등 여러가지 타입들을 빈으로 노출시킬 수 있는 기능을 제공해준다. 123456789101112131415161718192021 A simple String value in list Another simple String value in list Element 1 Element 2 Colored by Color Scriptercs 이런식으로 빈으로 노출시켜서 빈정의에서 참조할 수 있다. 여기서 기본적으로 빈정의 안에서도 태그를 사용할 수 있는데 라는 이야기가 나올 수 있다. 하지만 util 스키마를 쓰면서의 장점은 list-class 속성으로 명시적으로 타입을 지정해..
Springframework(스프링) p & c schema 사용하기 스프링프레임워크 p & c schemaservlet context & servlet xml 설정파일에서 , 로 속성을 정의하지 않고 간결한 표현을 제공하는 것이 p와 c schema이다.말로 설명하는 것보다는 간단한 예제를 통해서 보는 것이 이해가 빠르다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081package sample.spring.chapter03.beans; import java.util.Currency;import java.util.Date; public class ..
Springframework(스프링) 빈 정의 상속 스프링 빈 정의 상속applicationContext.xml에서 2개 이상의 빈에서 같은 타입의 빈을 의존하고 있다면, 각각의 빈에서 혹은 로 빈을 일일이 의존할 필요가 없이 빈 정의 상속을 받을 수 있다.(사실 코드 길이가 확 줄지는 않지만 이런 방법도 있다라는 것을 보여주고 싶었다.) 12345678910111213141516171819202122232425262728package com.spring.study; import org.apache.log4j.Logger; import com.spring.study.FixedDepositDetails;import com.spring.study.DatabaseOperations; public class FixedDepositDaoImpl implements..
Spring 정적 리소스 자원 매핑 스프링에서 정적리소스 자원 사용하기(매핑),어느때에 갑자기 jsp에서 작동하던 css, js 등의 정적 자원들이 적용이 안되는 경우가 있다. 123456789101112131415 appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml 1 appServlet / Colored by Color Scriptercs 이런 경우에 먹질 않는 경우가 많다는 것이다. 요즘은 RESTFUL한 웹페이지 개발이 많기때문에 보통 servlet url 매핑을 이와 같이 하는 경우가 많다. 보통 *.do와같은 url을 매핑하게되면 *.do 형식이 아닌..