반응형 Spring23 리소스 폴더 내 파일 저장 및 불러오기 리소스 저장 https://effectivecode.tistory.com/1276 ClassPathResource를 이용한 file 생성 java spring boot project에서 properties에서 file의 path 또는 name을 지정하고 생성하는 방식으로 사용하고 있다가 특정 경로를 설정해서 사용하는 방법 대신 resource폴더 아래에 특정 디렉토리를 만들고 파 effectivecode.tistory.com https://hianna.tistory.com/630 [Java] GSON을 이용한 Json 파일 읽기 / 저장하기 GSON 라이브러리를 이용하여 Json 파일을 읽어서 객체(VO)에 저장하는 방법, 객체(VO)를 Json 파일에 저장하는 방법을 소개합니다. 객체(VO) 형태로 J.. Spring 2022. 10. 26. [Spring] 스프링 제대로 공부했는지 5분만에 확인하는 방법 백기선님이 예전에 올리신 영상을 보는데. 지식이 부족하여 처음부터 끝까지 이해가 안갔다. 영상의 내용과 댓글을 참고하여 관련된 키워드를 검색하고 정리 해보고자 한다. [문제] 아래 RepositoryRank 클래스의 getPoint 메소드에 대한 유닛 테스트를 작성한다고 해보자. GitHub.connect()라는 스태틱 메소드를 호출하고 있는데 이걸 Mock Framework 없이 Mocking 할 수 있는 구조로 개선하려면 어떻게 해야 될까? import org.kohsuke.github.*; import java.io.IOException; public class RepositoryRank { public int getPoint(String repositoryName) throws IOExceptio.. Spring 2022. 10. 13. [Spring] could not find or load main class 해결 같은 문제가 발생하여 검색 중에 2가지 방법을 알게 되었다. 빌드 세팅 변경 IDEA변경 출처 : https://bba-jin.tistory.com/13 소스 루트 지정 main 함수가 있는 파일의 폴더에서 -> 마우스 우 클릭 -> Mark Directory as -> Sources Root 를 클릭 하면 된다. 출처: https://chobocho.tistory.com/2461433 [Do it now!:티스토리] Spring 2022. 9. 7. [Speing] intellij Database Navigator mysql https://ba-gotocode131.tistory.com/79 월드존? 에러 발생하면 참고 Intellij Database Navigator로 MySQL 설치 문제 1) Intellij ultimate는 database가 있으나 내가 받은 community 버전은 datbase가 없음 문제 2) database대신 database navigator 존재 문제 3) MySQL 연결 시 오류 발생 해결책 1. intellij 내 setting(win.. ba-gotocode131.tistory.com mysql 커뮤니티버전 설치 https://bebeya.tistory.com/entry/MYSQL-%EB%AC%B4%EB%A3%8C%EB%B2%84%EC%A0%84%EC%BB%A4%EB%AE%A4%EB%8.. Spring 2022. 9. 2. [Spring] H2 데이터베이스 사용하기 & 인텔리제이 DB도구 추가 웹 콘솔을 이용한 접속 방법 application.yml H2 DB를 인메모리 DB로 만들어준다. spring: h2: console: enabled: true localhost:8080/h2-console/ 로 접속한다. IDE 로그에 뜬 jdbc주소를 복사해서 페이지의 jdbc URL에 붙여넣어준다. 인텔리제이에서의 사용법 유료버전에서는 database기능에서 생성해주기만하면 사용가능한데. 커뮤니티 버젼은 지원을 하지 않는다. 이의 대체품으로 플러그인 Database Navigator 를 설치해준다. 몇가지 DB를 제공해주는데. H2는 없다. jpa buddy 페이지에서 H2링크를 타고 H2를 설치한 후 https://www.jpa-buddy.com/documentation/database-conne.. Spring 2022. 8. 26. [Spring] 인텔리제이 swagger 에러 해결 스프링 이니셜라이져로 프로젝트를 생성하여 인텔리제이에서 사용하면 참 많은 오류가 발생한다.;; 그 중 새로운 의존성을 주입했을때 발생하는 문제인데. swagger를 의존성 주입했을때 잡다한 경고들이 많이 발생하였다. JDK버젼 일치 settings > Build, Execution, Deployment > Build Tools > Gradle의 Gradle JVM, settings > Build, Execution, Deployment > compiler > Java Compiler의 per-module bytecode version, Project Structure > project settings > project의 SDK 이 셋의 버젼을 맞춰준다. 가끔 여기서도 오류남. Build 변경 settin.. Spring 2022. 8. 23. [Spring] 네이버API활용 맛집검색 프로젝트 생성 의존성 주입 - Lombok, Spring Web, Thymeleaf 네이버API 홈페이지 https://developers.naver.com/docs/serviceapi/search/local/local.md#%EC%A7%80%EC%97%AD 지역 - Search API 지역 NAVER Developers - 검색 API 지역 검색 개발가이드 검색 > 지역 네이버 지역 서비스에 등록된 각 지역별 업체 및 상호 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출 developers.naver.com Swagger 설치 메이븐 레파지토리 : https://mvnrepository.com/artifact/io.springfox/springfox-boot-s.. Spring 2022. 8. 21. [Spring] Swagger Swagger란? 개발한 REST API를 편리하게 문서화해주고, 이를 통해서 관리 및 제3의 사용자가 편리하게 API를 호출해보고 테스트할 수 있는 프로젝트이다. Spring Boot에서는 간단하게 springfox-boot-starter를 gradle dependencies에 추가함으로 사용할 수 있다. 주의할 점은 운영환경과 같은 외부에 노출되면 안되는 곳에는 사용할 땐 주의해야한다. Swagger Annotation @Api : 클래스를 스웨거의 리소스로 표시 @ApiOperation : 특정경로의 오퍼레이션 HTTP 메소드 설명 @ApiParam : 오퍼레이션 파라미터에 메타 데이터 설명 @ApiRespoonse : 오퍼레이션의 응답 지정 @ApimodelProperty : 모델의 속성 데이터를.. Spring 2022. 8. 19. [Spring] Server to Server 통신 - Custom Header, Json활용 아래와 같은 Json파일을 만들고자한다. 이러한 형태를 사용하는 이유는 json형식을 만드는 코드를 매번 작성할 필요없이 body 내용만을 변경하여 사용할 수있다. { "header":{ "responseCode": null }, "resBody":{ "name": "steve", "age": 10 } } 클라이언트 Req.java public class Req { private Header header; private T resBody; public static class Header { private String responseCode; public String getResponseCode() { return responseCode; } public void setResponseCode(String .. Spring 2022. 8. 19. [Spring] Server to Server 통신 - POST 클라이언트 UserRequest.java public class UserRequest { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "UserResponse{" + "name='" + name + '\'' + ", age=" + age + '}'; } } RestTemplateServi.. Spring 2022. 8. 19. [Spring] Server to Server 통신 - GET Server to Server통신 내 서버가 클라이언트가 되어 다른 서버에 요청을 보내고 응답받아 전달한다. 클라이언트 ApiController.java import com.example.client.dto.UserResponse; import com.example.client.service.RestTemplateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.w.. Spring 2022. 8. 16. [Spring] Filter & Interceptor + 비동기 Filter란? Web Appliation에서 관리하는 영역으로써 Spring Boot Framework에서 Client로 부터 오는 요청 / 응답에 대해서 최초 / 최종 단계의 위치에 존재한다. 이를 통해 요청 / 응답의 정보를 변경하거나, Spring에 의해서 데이터가 변환되기 전의 순수한 Client의 요청 / 응답 값을 확인 할 수 있다. 유일하게 ServletRequest, ServletResponse의 객체를 변환 할 수 있다. 주로 Spring Framework에서는 request / response의 Logging 용도로 활용되거나, 인증과 관련된 Logic들을 해당 Filter에서 처리한다. 이를 선 / 후 처리 함으로써, Service business logic과 분리 시킨다. Inte.. Spring 2022. 8. 12. 이전 1 2 다음 💲 추천 글 반응형