반응형
  • Action에 @Valid만 추가할 경우 List에 대한 유효성 검사가 수행되지 않는다.
  • Controller에 @Validated를 추가하면 List에 속한 Model 대한 유효성 검사가 각각 수행된다.
@Validated
public class RestExampleController {
    @PostMapping("~~~")
    public void insert(@RequestBody @Valid List<Model> models) {
        ~~~
    }
}
반응형
반응형

1. servlet-context에 아래 내용 추가
   ref= 에 있는 dataSource는 DB접속 bean의 id임

<tx:annotation-driven transaction-manager="transactionManager" />
<beans:bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <beans:property name="dataSource" ref="dataSource"/>
</beans:bean>

 

2. 트랜잭션을 적용하고자 하는 메서드에 어노테이션 추가
   해당 메서드에서 예외가 발생하면 자동으로 rollback 됨

@Transactional
public int insertUser(UserVO vo) throws Exception {
    insertUser(vo);
    insertUserLog(vo);
    .... 코드 작성 ....
}
반응형
반응형

1. root-context.xml에 bean 생성

<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />

 

2. Controller에 validator 주입

import org.springframework.validation.Validator;

@Autowired
private Validator validator;

 

3. Action에서 유효성 검사 수행

Errors err = new BeanPropertyBindingResult(vo, "Object Name");
validator.validate(vo, err);
if (err.hasErrors()){
    유효성에 어긋날 경우 처리 내용
} else {
    유효성 검사 통과
}

 

반응형

+ Recent posts