spring-boot-devtools 라이브러리
2022. 6. 9. 15:39
개발 지식/Memo
spring-boot-devtools 라이브러리를 사용하면 캐시 삭제 등 개발 시 유용한 기능들을 제공한다 가장 대표적인 예로 thymeleaf 등 개발 시 동적 값을 변경할 경우 서버를 재시작해야하는데 devtools 를 사용하면 리컴파일로 간단하게 처리할 수 있다 gradle 기준으로 작성 dependencies { .... implementation 'org.springframework.boot:spring-boot-devtools' .... } 라이브러리 추가 후 th:text 부분의 문구를 변경했을 경우 기본 문구 다시 컴파일 후 새로고침을 하면 바로 적용되는 것을 확인할 수 있다!
git branch 가져오기
2022. 5. 10. 21:48
개발 지식/Memo
single-branch 를 통해 clone 한 경우 브랜치를 추가로 가져올 경우 아래 명령어를 입력 git remote set-branches --add origin 브랜치명 git fetch origin git checkout --track origin/브랜치명 https://velog.io/@burningjeong/fatal-originmain-is-not-a-commit-and-a-branch-main-cannot-be-created-from-it
페이징 라이브러리 (PageHelper + pagination)
2022. 2. 4. 14:52
개발 지식/Memo
Spring 환경에서 mybatis 또는 ibatis를 사용할 경우 PageHelper와 Pagination 라이브러리를 사용하면 아주 간단하게 페이징 작업이 가능하다 (JPA를 사용할 경우 Pageable을 사용) PageHelper 1. 환경에 맞게 라이브러리를 추가 (SpringBoot 기준) pom.xml com.github.pagehelper pagehelper-spring-boot-starter 1.4.1 2. import 추가 import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 3. 사용 예시 import com.github.pagehelper.PageHelper; import com.github.pa..
REST API JunitTest(MockMvc)
2022. 1. 27. 22:42
개발 지식/Memo
Spring 에서 Was를 실행 하지 않고 Web URL을 테스트 하는 방법 웹을 개발할 때 매번 URL을 테스트하기 위해 Tomcat과 같은 WAS를 실행하는 불편한 단계를 생략하기 위해서 스프링의 테스트 기능을 활용한다. GET 방식이 아니고, POST 등의 방식으로 지정되어있으며, JSON 형태의 데이터를 처리하는 것을 브라우저에서 개발하려면 많은 시간과 노력이 들어감 때문에 Junit과 spring-test를 활용하는 것을 권장 자세한 내용은 주석으로 기재 TicketVO.java package org.zerock.domain; import lombok.Data; @Data public class Ticket { private int tno; private String owner; private ..
MockMvc Annotation 정리
2022. 1. 26. 22:12
개발 지식/Memo
MockMvc의 @Annotation @RunWith(SpringRunner.class) @RunWith(SpringRunner.class) 테스트를 진행할 때 JUnit에 내장된 실행자 외에 다른 실행자를 실행시킴 여기서는 SpringRunner라는 스프링 실행자를 사용 즉, 스프링 부트 테스트와 JUnit 사이에 연결자 역할을 함 @WebMvcTest @WebMvcTest 여러 스프링 테스트 어노테이션 중, Web(Spring MVC)에 집중할 수 있는 어노테이션 선언할 경우 @Controller, @ControllerAdvice 등을 사용할 수 있음 단 @Service, @Component, @Repository 등은 사용할 수 없음 @Autowired @Autowired 스프링이 관리하는 빈(Be..
REST Controller 반환 타입 정리
2022. 1. 25. 21:40
개발 지식/Memo
@RestController 반환타입 JSP와 달리 순수한 데이터를 반환하는 형태이므로 다양한 포맷의 데이터 전송 가능 주로 많이 사용 형태 : 일반문자열, JSON, XML 등 produces는 MIME TYPE을 의미 일반 문자열 반환 @Controller에서는 문자열 return값이 jsp 파일의 이름으로 처리되지만, @RestController에서는 순수한 문자열로 처리 됨 SampleController.java package org.zerock.controller; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.w..
REST Annotation 정리
2022. 1. 25. 19:41
개발 지식/Memo
REST의 @Annotation 전송방식에 따른 Annotation 전송방식에 따른 어노테이션 작업 HTTP Method URI 예제 어노테이션 Operation Performed 등록(Create) POST /members/new @PostMapping 리소스를 가져옴 조회(Read) GET /members/{id} @GetMapping 정의된 의미가 없으면 자원을 생성 수정(Update) PUT /members/{id}+body(json데이터 등) @RequestMapping 자원을 생성하거나 업데이트 삭제(Delete) DELETE /members/{id} @DeleteMapping 자원을 삭제 예제 package org.zerock.controller; import java.util.List; i..
String to Double Array (String -> Double[]) 변경
2021. 5. 26. 13:19
개발 지식/Memo
String str = "1.1,2.2,3.3,4.4,5.5,6.6,7.7"; double[] doubleArray = Arrays.stream(str.split(",")).mapToDouble(Double::parseDouble).toArray(); Double[] DoubleArray = Arrays.stream(str.split(",")).map(Double::valueOf).toArray(Double[]::new);
String to Int Array (String -> int[]) 변경
2021. 5. 26. 13:18
개발 지식/Memo
String str = "1,2,3,4,5,6,7"; int[] intArray = Arrays.stream(str.split(",")).mapToInt(Integer::parseInt).toArray(); Integer[] integerArray = Arrays.stream(str.split(",")).map(Integer::valueOf).toArray(Integer[]::new)