Spring

Spring

[Spring] 로깅 logging (@Slf4j)

로깅 라이브러리 스프링 부트 라이브러리를 사용하면 기본으로 ‘ spring-boot-starter-logging ‘가 포함된다. SLF4J : 인터페이스 Logback : 구현체 로그 선언 @Slf4j : 롬복 사용가능 private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(xxx.class); xxx : 클래스 이름 로그 호출 log.info("hello"); log.info("info log={}", xxx); -> xxx의 값을 중괄호{ }자리에 담는다. 로그 레벨 설정 resources → application.properties logging.le..

Spring

[Spring Boot] @PathVariable과 @RequestParam - 파라미터 받기

@PathVariable 경로변수 PathVariable을 사용하면 리소스 경로에 식별자를 넣어서 동적으로 URL에 정보를 담을 수 있다. URL 경로의 중괄호 { } 안쪽에 변수를 담고, 그 변수를 @PathVariable(" ")로 받아서 사용할 수 있다. 1. 기본 URL의{postId}와 매개변수 long orderId와 이름을 맞춰준다. @GetMapping ("/order/{orderId}") public String getOrder(@PathVariable String orderId){ log.info("orderId : {}", orderId); return "orderId:"+ orderId; } 요청 : http://localhost:8080/order/123 응답 : orderId:1..

Spring

[Spring Boot] 스프링 인터셉터 (Spring Interceptor)

Spring Interceptor 스프링 인터셉터는 스프링 MVC가 제공하는 웹과 관련된 공통 관심사항을 효과적으로 해결할 수 있는 기술이다. 예를 들어 로그인되지 않은 사용자가 로그인해야지만 접근할 수 있는 페이지에 접근하려 할 때, 세션을 확인하여 세션에 로그인된 사용자의 유무에 따라 접근 허용 여부를 설정해 줄 수 있다. 1) 스프링 인터셉터 흐름 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러 서블릿 필터는 서블릿이 호출되기 이전에 호출된다. 스프링 인터셉터는 컨트롤러 호출 직전에 호출된다. URL패턴을 서블릿 필터에 비해 정밀하게 설정할 수 있다. 2) 스프링 인터셉터 제한 1. 접근 허용 시 HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인..

Spring

[Spring] Bean Validation

Validation : 유효성 검증 웹 개발을 하다보면 서버로 들어온 요청이 서버에서 필요한 데이터의 스펙에 잘 맞게 들어왔는지 검사해야할 필요가 있다. 예를들면 '나이'를 입력받아서 서버에 저장해야하는데, Integer타입의 age 변수에 숫자가 아닌 값이 들어오는 경우 오류가 발생한다. 또는 그저 사용자가 오타를 쳐서 잘못된 정보를 기입하는 경우도 생각해 볼 수 있다. 만약 사용자가 오타를 하나 쳤다고 error 페이지가 뜨고, 뒤로 돌아가 처음부터 다시 입력을 해야한다면, 그 사용자는 이 서비스를 이용하고 싶지 않을 것이다. 따라서 웹 서비스는 오류 발생시 친절하게 어디서 어떤 오류가 발생했는지 친절하게 알려주는것이 좋다. 컨트롤러의 중요한 역할중 하나는 HTTP 요청이 정상인지 검증하는 것이다. ..

Spring

[Spring] 메시지, 국제화

메시지 만약 어떤 쇼핑몰 서비스에서 화면에 보이는 모든 "상품명"이라는 단어들을 "제품명"으로 바꿔달라고 하면 어떻게 해야 할까? 서비스에서 쓰이는 모든 html을 뒤져서 "상품명"을 찾아서 제품명으로 일일히 바꿔야 될 수도 있다. 이럴 때 자주 사용되는 메시지들을 한 곳에 모아서 관리하도록 하는 기능을 메시지 기능 이라고 한다. 또는, 우리 서비스가 해외로 진출하게 되어서 중국어, 영어, 독일어 등등 여러 언어를 지원해야 하는 상황이다. 이때 메시지 기능이 없다면, 모든 html을 복사해서 각국의 언어로 텍스트를 변경해야 할것이다. 메시지 기능을 이용하여, 접속자의 언어에 따라 메시지를 변경해주도록 할 수 있다. 이를 국제화 라고 한다. 타임리프와 스프링 메시지 기능을 이용하면 웹페이지 화면에서 반복적..

HSRyuuu
'Spring' 카테고리의 글 목록 (4 Page)