Spring Boot8 Upload in Spring Boot 업로드 방식 : 클라이언트에서 정함 일반 업로드 : 화면이 바뀌면서 form형식으로 서버에 전송 비동기 업로드 : 업로드와 동시에 서버에 전송 파일 임시저장 방식은 3가지 데이터베이스 / 하드디스크 / 클라우드 -스프링부트 application.properties의 설정 업로드 가능여부 업로드 가능 용량 파일당 최대 업로드파일 저장경로 썸네일 이미지를 사용하고 싶다면 dependencies에 thumbnailator 모듈을 추가한다 업로드시에 enctype을 multipart/form-data로 설정을 필수로 해야한다 파일: Spring Boot 2023. 2. 21. Rest API 기존의 @Controller 어노테이션은 returb에 Model을 담아서 뷰에 전송했다. RestAPI는 서버간 통신을 위한 Controller이다. @RestController는 returb에 처리하는 데이터를 조금 다른식으로 처리함. 객체를 반환할수 있고 받을수도 있다 REST API를 이용하면 서버간 통신 or 클라이언트 서버통신이 가능함 How? JSON형식을 사용함.(XML도 가능함) 스프링 메시지 컨버터 HTTP 메시지 컨버터란, 요청 본문에서 메시지를 읽어 들이거나(@RequestBody), 응답 본문에 메시지를 작성할 때(@ResponseBody) 사용 하여 요청 브라우저로 응답을 바꾸는 장치이다. 뷰 템플릿으로 HTML으로 응답하는 게 아니라, 화면에서 처리할 JSON or 문자열 or.. Spring Boot 2023. 2. 16. Spring Boot DB (MyBatis) MyBatis in Spring Boot 기존 스프링에서는 mybatis, mybatis-spring, spring-jdbc가 필요 했지만, Spring Boot 에선 Mybatis-spring-boot-start를 이용하면 자동 설정 된다. build_gradle에 mybatis-spring-boot-starter 라이브러리 추가 //Mybatis // https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' application-properties에 마이바티스 관련 설정 .. Spring Boot 2023. 2. 14. Spring Boot Valiadation 유효성검사(Valiadation) 1. validation이란 어떤 데이터의 값이 유효한지, 타당한지 확인하는 것을 의미합니다. 2. UI에서 javascript로 "이메일 양식이 일치하지 않는다"는 것은 UX 측면에서 사용자에게 편의를 주기 위함 입니다. 3. 보안적인 측면에서 유효성 검사는, UI, 서버에서 둘 다 수행되어야 합니다. 4. 스프링, 스프링 부트 모두 적용 가능합니다. 부트 2.3버전 이후는 Spring Boot Starter Validation 라이브러리 필요 (가져온 라이브러리를 gradle에 넣고 버전을 지우면 springboot버전에 맞춰짐) 유효성 검사 아래 어노테이션은 VO(DTO) 클래스의 멤버변수에 적용해서 사용합니다. Import는 javax.validation패키지를 .. Spring Boot 2023. 2. 14. Thymeleaf in Spring Boot Thymeleaf -자바에서 제공하는 라이브러리이며, 텍스트, HTML, XML, Javascript, CSS를 생성할 수 있는 템플릿 엔진 -스프링 MVC와의 통합 모듈을 제공하며, 애플리케이션에서 JSP로 만든 기능들을 완전히 대체할 수 있다. -스프링부트에서는 JSP보다 Thymeleaf사용을 권장한다. 타임리프를 사용하려면 html최상단부에 xmlns:사용명을 명시한다 생략해도 사용은 가능하다. 타임리프 문법 공식홈페이지 참조. jstl과 문법이 약 80% 유사하다. 중요! 변수 표현 : ${} a링크 : @{} fragment expression : ~{} 타일즈 뷰 템플릿을 기본적으로 제공. fragment태그 사용. 이때 ~{}을 사용한다. 텍스트 : '' 텍스트 결합 : + ${값 + 값}.. Spring Boot 2023. 2. 13. Spring Boot Lombok으로 Builder패턴 만들기 롬복을 이용해서 Builder패턴 만들기 @Builder : 빌더패턴 사용. 클래스에 사용하는 어노테이션이다. @Builder setter가 set변수명()이 아니라 변수명()으로 바뀐다. @Data //get, set, toString @NoArgsConstructor //기본생성자 @AllArgsConstructor //모든생성자 @Builder //빌더패턴 public class BuilderVO2 { private String name; private int age; } @Builder어노테이션과 함께 @Data, @생성자 어노테이션도 사용가능하다. BootTest.java에서 BuilderVO2 vo2=BuilderVO2.builder().age(20).name("이순신").build(); Sy.. Spring Boot 2023. 2. 13. Spring Boot 기본 설정 처음에 Spring Boot 프로젝트를 생성하면 데이터베이스연결과 커넥션풀 연결을 자동으로 처리해주는 application.properties에 아래 코드처럼 설정해준다 server.port=포트번호(숫자 4자리) #############데이터베이스 연결, 커넥션풀 자동연결############## spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:"포트번호"/spring?serverTimezone=Asia/Seoul spring.datasource.username="아이디" spring.datasource.password="비밀번호" 타임리프 뷰를 사용하기 위해선 .. Spring Boot 2023. 2. 10. SpringBoot 생성 Spring Boot Project를 생성할땐 Spring Starter Project 생성 기본 생성시 만들어지는 내용물들 추가할 모듈이 있다면 build_gradle의 dependencies에 추가로 작성한다. jsp를 사용하려면 해당 모듈을 추가한다 //jsp를 뷰로 사용하려면 jsp해석기, jstl를 추가한다 // https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-jasper //implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:9.0.71' // https://mvnrepository.com/artifact/javax.servlet/jstl //implement.. Spring Boot 2023. 2. 10. 이전 1 다음