본문 바로가기

Server Oriented/Spring

(19)
스프링 build.gradle 수정후 반드시 실행 build.gradle 파일 수정 후 반영하기 위해서는, 'Refresh Gradle Project' 실행해야 함. build.gradle 파일을 마우스 오른쪽 버튼으로 클릭, 팝업 메뉴에서 Gradle, Refresh Gradle Project 등을 차례로 클릭. plugins { id 'org.springframework.boot' version '2.6.12' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = '패키지명' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annot..
스프링 Controller Step 2, request 파라미터 수용(매핑시) (웹브라우저 주소창에 입력 및 실행되면) 웹서버 URL 호출시의 파라미터를 전달받는 것. 클릭 @GetMapping("/aaa/{var}") public String methodA(String var){ ... } - 하나의 변수로 인정 - methodA 에서 int var 하였으면, 수치로 인식. 수치가 입력되지 않으면 에러 클릭 @GetMapping("/aaa/{var1}/{var2}") public String methodA( @PathVariable String var1, @PathVariable String var2 ){ ... } - 변수 여럿이면 파라미터도 여럿 - @GetMapping 에 기술된 var1 과 var2 의 순서와 다르게 methodA 에 String var2, String v..
스프링 Controller Step 3, response 할당(View, RESTful) (웹브라우저 주소창에 입력 및 실행되면) 결과를 웹브라우저에게 반환하는 것. Controller .java 경로는 /src/main/java/도메인경로/controller/ 로 가정 View .html 경로는 /src/main/resources/templates/ 로 가정 크게 3가지인데, A. 뷰 파일 호출 (1번과 2번) B. 화면 전환 (2번에서 redirect) C. JSON 객체 반환 (나머지 3~11번) 1. void 호출된 URL 과 동일한 뷰 파일 호출. 2. String 호출된 URL 을 처리한 Controller 에서 리턴한 뷰 파일 호출 3. JavaBeans Class 파일 대신에 Controller 에서 생성한 JSON 객체 반환 RESTful 에서 사용 ($.ajax 등등) 해당..
스프링 Controller Step 1, request 할당 (Annotation Mapping) (웹브라우저 주소창에 입력 및 실행되면) 이를 처리할 서버측 .java 와 method 를 할당하는 것. 크게 3가지인데, A. RequestMapping 이 기본 B. RequestMapping 간소화 C. Annotation 파라미터 1. 요청 경로 매핑, RequestMapping 메소드가 void 리턴이면 @RequestMapping path 값과 동일한 view 파일 호출, 메소드가 String 리턴이면 String 값과 동일한 view 파일 호출. 매핑 관련해서는 RequestMapping 이 기본이고, 다른 매핑은 이를 간소화. 2. 경로 패턴 매핑 RequestMapping 시 파라미터 1개? URL 경로 상의 변하는 값을 경로 변수로 취급. 3. Http 메서드 매핑 @GetMapping..
스프링 Lombok Annotations, @Getter @Setter @ToString Lombok(롬복) 의 Annotation 들은 모두 class 에 설정하고, @Builder 의 경우 파라미터가 있는 생성자 메소드에도 설정 가능. @Getter @Setter @ToString @EqualsAndHashCode - (of="...") 해당 Entity 하나를 기준으로 HashCode 메서드 추가 - (of={"...","...",...}) 해당 Entity 여럿을 기준으로 HashCode 메서드 추가 @NoArgsConstructor - 파라미터(인자) 없는 생성자 메서드 추가, 기본 생성자 @RequiredArgsConstructor - @NonNull 또는 final 등을 설정한 Entity 정의된 순서 대로 파라미터로 구성된 생성자 메서드 추가 @AllArgsConstructor..
스프링 Annotation 속성 설정 @EqualsAndHashCode(of="...") 와 같이 하나의 값을 세팅할 때는 저렇게 하고.. 여러개라면... (of={"...","...","...",...}) 와 같이 설정. (exclude="...") 제외.
스프링 예외처리 https://springboot.tistory.com/25 - extends RuntimeException - @ExceptionHandler - @ControllerAdvice https://yiyj1030.tistory.com/530 - 404, 500. 이런 에러는 WAS 나 WS/AS 에서 처리하도록 하는 것이 나을듯.. /src/main/java/도메인/common/exception/CommonExceptionHandler.java @ControllerAdvice @Slf4j public class CommonExceptionHandler{ @ExceptionHandler(Exception.class) public String handle(Exception e){ log.info("
No tag [error] defined in tag library imported with prefix [form] 혹시 오타 난 것이 있는지 다시 확인 요망.. ^^;