[Spring] @annotation 개념
2022. 8. 8. 14:08
Web/Spring
@RequestMapping URL을 Request(요청)하면 어떤 method로 처리할지 Mapping한다. Controller나, Controller method에 적용. Request받는 형식인 Get, Post, Patch, Put, Delete 정의. 정의하지 않는다면 자동으로 Get 설정. 모든 Mapping 정보는 Spring에서 제공하는 HandlerMapping Class가 가짐. (이하 GetMapping, PostMapping, DeleteMapping, PutMapping, PatchMapping은 기존 사용하던 RequestMapping에 속성을 지정하기 보다 더 간단히 사용 가능하도록 Spring 4.3 ver.부터 출시된 Annotation.) @GetMapping @Reque..
[Spring] Controller와 RestController의 차이
2022. 6. 14. 09:16
Web/Spring
@Controller 1-1. View를 반환하기 위해서 사용. 1-2. Client > URI 형식 Web service에 Request DispatcherServlet이 request를 위임할 HandlerMapping을 찾음 HandlerMapping을 통해 request를 Controller로 위임 Controller는 요청을 처리 후에 ViewName을 반환 DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 Client에게 Return 1-3. Data를 반환하기 위해서는 @ResponseBody 활용. Json 형태의 data 반환 가능. Controller를 통해 객체를 반환할 때에는 일반적으로 ResponseEntity로 감싸서 반환..
[Spring] file upload 관련 기능
2022. 4. 11. 00:42
Web/Spring
1. CommonsMultipartResolver class 1-1. spring framework에서 제공하는 CommonsMultipartResolver class 사용을 위해 아래 dependency를 pom.xml에 주입 commons-fileupload commons-fileupload 1.3.3 1-2. Method multipartResolver: bean이 multipart/form-data incoding 방식으로 client로부터 전송되어 file을 multipartFile[] uploadFile 객체가 chunk 단위로 용량을 쪼개 효율적으로 관리, 사용할 수 있도록 전달하는 기능 (uploadFiles) transferTo: server에 물리적으로 file 생성하는 기능(저장) f..
[Spring] UriComponentsBuilder란?
2022. 3. 29. 12:04
Web/Spring
1. UriComponentsBuilder 여러 개의 Parameter들을 연결하여 URL 형태로 만드는 기능. Controller에서 Redirect시, 여러 Parameter를 일일이 addAttribute를 통해 사용하기 번거로울 때 사용. public String getListLink() { UriComponentsBuilder builder = UriComponentsBuilder.fromPath("") .queryParam("pageNum", this.pageNum) .queryParam("amount", this.getAmount()) .queryParam("type", this.getType()) .queryParam("keyword", this.getKeyword()); return bu..
[Spring] VO, DTO, DAO, Entity 정리
2022. 3. 21. 14:14
Web/Spring
DTO - Data Transfer Object : 데이타를 전송목적으로 사용하는 의미 메서드간의 파라미터로 데이터 전송시 사용. 파라미터를 여러개 사용하는 것보다 클래스로 관리하면 작업이 간단. VO - Value Object : 값을 읽고, 쓰는 관리목적(저장) : DB의 테이블구조를 참고해서 생성 1)VO를 통하여, 테이블에 데이타 저장 2)VO를 통하여, 테이블의 데이타를 읽기 VO는 DTO보다 범위가 큰 관점으로 바라본다.

[Spring] 초기 setting
2022. 2. 8. 11:06
Web/Spring
1. project 생성 2. pom.xml에 사용할 Library 구성 3. Log4jdvc.log4j2.properties, logback.xml 루트에 넣고 log4j,xml에 SQL logger 삽입 4. servlet-context.xml 설정 5. root-context.xml bean 설정 6. web.xml 설정

[Tomcat] port 충돌 시 해결 방법
2022. 2. 7. 14:35
Web/Spring
1. localhost are already in use error 1) cmd 관리자 권한 실행 2) netstat -a -o 입력 후 중복 주소 확인 3) 해당 주소를 사용하는 pid의 번호를 확인 후 taskkill /f /pid 0000(번호) 입력 2. Server at localhost failed to start 1) Show view에서 servers 부분 server 클릭 후 overview에서 timeouts 시간 늘리기(Project 크기가 클 시) 2) preferences > Server > Runtime Environments에서 기존 tomcat 삭제 후 재 추가
[Framework] MyBatis
2022. 2. 6. 01:19
Web/Spring
MyBatis란? 객체 지향 언어인 Java 관계형 DB programming을 돕는 ORM(Object Relational Mapping) Framework. JDBC를 통해 DB에 access 작업을 캡슐화하고 일반 SQL query, 저장 Procedure 및 고급 mapping을 지원하며 모든 JDBC 코드 및 매개 변수의 중복 작업 제거. Mybatis에서는 program에 있는 SQL query들을 한 구성 file에 구성하여 program code와 SQL을 분리할 수 있는 장점이 있음. Domain 객체나 VO 객체를 중심으로 개발 가능. 특징: 쉬운 접근성과 code의 간결함. JDBC의 모든 기능을 대신 제공함. SQL문에 변경이 있을 때마다 Java code를 수정하거나 Compile..