inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Spring Boot JUnit Test - Ứng dụng ngân hàng sử dụng bảo mật

Ứng dụng AOP xác thực bộ điều khiển đăng ký thành viên

validation aop사용에 대해서 질문있습니다.

245

qheogus55

42 câu hỏi đã được viết

0

@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(BindException.class)
public ApiResponse<Object> bindException(BindException e) {

이런식으로 전역적으로 validation을 해주면 aop를 사용하지 않고 더 편하고 어노테이션도 안달아줘도 될거같은데 aop를 사용하면 장점이 무엇인가요?

spring-boot junit 소프트웨어-테스트

Câu trả lời 2

1

metacoding

@ExceptionHandler(BindException.class)
public String exBind(BindException e) {
    for (FieldError error : e.getFieldErrors()) {
        return Script.back(error.getDefaultMessage() + " : " + error.getField());
    }
    throw new Exception500("알수없는오류");
}
@PostMapping("/login")
public String login(@Valid UserRequest.LoginDTO loginDTO) {
    User sessionUser = userService.로그인(loginDTO);
    session.setAttribute("sessionUser", sessionUser);
    return "redirect:/board";
}

위와 같이 처리하셔도 됩니다.

본 강의에서는 AOP를 교육한다고 생각하시면 되요!!

저도 ExceptionHandler로 처리해야 한다는 생각을 한번도 해보지 못했어요!!

좋은 질문 감사드립니다 ㅎ

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

AOP(Aspect-Oriented Programming)를 사용하는 장점 중 하나는 코드의 재사용성을 높일 수 있다는 것입니다. 특정 작업을 위해 공통적으로 사용되는 코드를 분리하여 관리할 수 있기 때문에, 같은 기능을 필요로 하는 다른 부분에서도 쉽게 재사용할 수 있습니다. 예를 들어, validation 로직을 여러 컨트롤러나 서비스에 걸쳐 일관되게 적용해야 할 경우, AOP를 사용하면 해당 로직을 중앙에서 관리하면서 필요한 곳에 적용할 수 있습니다. 이로 인해 코드의 중복을 줄이고, 유지 보수성을 향상시킬 수 있습니다.

또한 AOP를 사용하면 비즈니스 로직과 관심사를 분리할 수 있습니다. 즉, 비즈니스 로직 코드에 섞여 있을 수 있는 보안, 로깅, 트랜잭션 관리 같은 부수적인 기능을 분리해 관리할 수 있으므로, 비즈니스 로직의 가독성과 순수성을 유지할 수 있습니다.

@ExceptionHandler를 사용하는 접근 방식이 특정 상황에서 더 직관적이고 편리할 수 있지만, AOP를 활용함으로써 얻을 수 있는 장점들이 있으므로, 프로젝트의 요구 사항과 구조에 따라 적절한 방법을 선택하는 것이 중요합니다.

요청/응답 DTO 관련 문의

0

170

2

안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.

0

161

1

Dummy 클래스 위치에 대한 질문

0

293

2

테스트 방식에 관해서 질문이 있어요

0

292

2

스프링 버전업일 경우에는 Pointcut @PostMapping 조건이 달라질까요?

1

434

1

equals와 longValue 관련 질문드립니다

0

329

1

계좌번호를 Long 타입으로 하는 이유가 무엇일까요?!

0

499

2

[정보공유] Hibernate 로그 작동 안하시는 분들!!

3

346

0

UserControllerTest 테스트 실패 문의

0

318

1

스프링 시큐리티 6.2 버전 이후로 apply() 메서드를 이용한 JwtAuthenticationFilter 가 등록이 안됩니다.

2

1107

1

import 오류

0

427

3

spring initializer gradle 에서 3.x.x 대 밖에 없어요. 2.x.x는 보이지 않는데 어떡하져

0

438

2

안녕하세요 로그엔 성공적으로 들어온것같습니다..

0

237

1

JwtAuthorizationfilter test mvc.performget 관련 질문입니다!

0

287

1

JwtAuthorizationfilter test mvc.performget 부

0

226

1

longValue() 질문

0

228

1

jwt 인가필터 규현및 등록

0

334

1

스프링부트 3버전

1

334

1

권한처리를 위한 세션강제주입

0

418

1

JwtVO 를 인터페이스로 만든 이유

0

359

1

계좌 조회 질문드립니다

0

229

1

DummyObject 에 대하여

0

308

2

DTO를 이너클래스로 계속추가하는 이유

0

695

2

Builder 사용 궁금

0

404

1