Back/Spring Boot14 [Gradle] biuld.gradle 살펴보기 Gradle ??? 자바에서 외부 라이브러리를 가져다 쓴다는 의미는 결국 외부 라이브러리의 .jar를 가져와서 classpath에 추가하는 것이다. build.gradle이라는 파일에 가져다 쓸 라이브러리의 이름, 버전을 명시하면 gradle이 자동으로 jar파일을 다운 받고 추가해준다. 요약해서 말하면 gradle은 오픈소스 빌드 자동화 툴이다. 1. 구조 살펴보기 프로젝트 구조 사진 디렉토리 /파일 설명 /.gradle /gradle gradle 버전별 엔진 및 설정 파일 gradlew gradlew.bat gradle 명령 파일 setting.gradle 빌드할 프로젝트 정보 설정 builld.gradle 플젝트 빌드에 대한 모든 기능 정의 /src 자바 소스 파일 📌build.gradle이라는 파.. 2023. 9. 5. [SpringBoot] @Valid 어노테이션으로 collection 객체 검증 문제상황Controller에서 @RequestBody에 @Valid를 사용 할 경우, 단일 Object 타입일 때는 Validator가 잘 동작하지만, 객체가 Collection 타입으로 감싸져 있을 경우에는 Validator가 동작을 하지 못했다.(예외를 내뱉지 않음) 아래는 문제가 되는 예시@PostMapping("") public Result doOrder(@RequestBody @Valid List order, Errors errors) { return orderService.doOrder(order); } 문제원인에러가 나지 않는 이유는 @Valid는 JavaBeans에 적용되는데, List(컬렉션)는 JavaBeans 명세에 포함되지 않기 때문이다. 해결Vali.. 2023. 1. 30. [Spring Boot] .jar 배포 후 resources 파일 경로 찾기 문제 상황 진행하고 있는 프로젝트 개발 서버에 jar 파일로 말아 배포시켰다. 그런데 한 메소드에서 해당 파일 경로를 읽어오지 못하는 문제가 발생했다. 분명 local에서는 문제없이 잘 읽어 오는데, 배포한 jar파일에서는 파일을 찾지 못하는 에러가 계속 났다. 아래는 로컬에서 잘 돌아가는 기존 소스 URL resource = getClass().getClassLoader().getResource("templates/fo/ko/utility/terms"); File dir = new File(resource != null ? resource.getPath() : null); String[] filenames = dir.list(); // 하위 파일들의 이름을 배열에 담는다. 원인 보통 IDE등에서 개발하.. 2022. 6. 10. [SpringBoot] @Valid 어노테이션으로 validation 유효성 검사하기 서론애플리케이션 개발 진행 할 때, validation 체크는 매우 중요하다.클라이언트에서도, 서버에서도 각각 검증을 거치는 것이 좋다.클라이언트에서 데이터가 제대로 왔는지,db에 데이터가 들어가기 전에 제대로 된 데이터가 맞는지 등.놓쳐서는 안되는 중요한 작업이다. @Valid 어노테이션을 사용하여 검증 과정을 거칠수 있다. 테스트 환경IntelliJ 2021.3 (community 버전)MavenSpringBoot 2.6.1본론@Valid 란?JSR 303부터 현재 JSR 380 버전으로, 자바 표준 스펙으로 지정되어 있는 Bean Validation 기능. Jakarta Bean Validation 2.0 - Java 8 이상Jakarta Bean Validation 3.0 - Java 11 이상 .. 2022. 2. 8. [Spring Boot, IntelliJ] 인텔리제이 서버 재시작 없이 정적 리소스 리로드하기 1. 상황이번에 맡은 두번째 프로젝트에는 회사 내에서 기존프로젝트와 다르게 변화를 주기로 결정했다고 전해들었다.기존에 IDE 이클립스(sts)를 쓰던 내게 IntelliJ를 쓴다는 것은 나름 큰 변화였다.단축키도, 설정도 조금씩 달라서 처음부터 적응하느라 시간을 들여야했다. devtools를 주입하는 것도 쉽지 않았다.폭풍 구글링을 통해 얻은 정보를 똑같이 따라해봐도 html이 서버를 껐다 켜야만 반영이 되는 문제가 발생했다.알고보니 인텔리제이가 버전업됨에 따라 정적 리소스를 리로드하는 설정도 바뀐 것이었다.해결 방법을 아래에 정리해보겠다. 2. 구축 환경IntelliJ 2021.3 (community 버전)GradleSpringBoot 2.1.3.RELEASE 3. build.gradle 파일에 d.. 2022. 2. 4. [Spring Boot] 프로젝트 생성 및 DB 연동 지난번에 포스팅 했던 Spring Boot 설정 당시에 아래와 같은 WARN이 콘솔에 찍혔다. No MyBatis mapper was found in~ mybaits mappe가 패키지를 찾을 수 없다는 경고이다. 저렇게 찍힌 상태에서도 mybatis 연동도 잘됐고, 데이터를 가져오는 것에는 문제가 전혀 없었다. 그런데 추후에 문제가 발생할 수도 있기에 다시 차근차근 설정 방법을 변경해서 해보았다. 아래 포스팅에서 1번까지는 동일하게 설정하면 된다. 물론 Spring Boot Version은 각자 알아서...다르게! 2021.10.09 - [SKILLS/Spring Boot] - [Spring Boot]프로젝트 생성, DB 연동 이 포스팅에서는 지난 포스팅 1번에 이어서 pom.xml 설정방법부터 작성하.. 2021. 12. 10. 이전 1 2 3 다음