본문 바로가기

Spring41

[Spring Thread Pool 사용하기 @Component public class TestScheduler { @Scheduled(fixedDelay = 1000) //작업이 끝나는 시점으로부터 1초 후에 수행 public void test1() throws InterruptedException { Thread.sleep(10000); // 10초 대기 System.out.println("Test1: " + LocalDateTime.now()); } @Scheduled(fixedDelay = 1000) //작업이 끝나는 시점으로부터 1초 후에 수행 public void test2() { System.out.println("Test2: " + LocalDateTime.now()); } } 위 코드를 보았을 때 test1이 한 번 실행될 때 te.. 2024. 4. 8.
[H2] GenerationType.IDENTITY 오류 org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions ERROR: NULL not allowed for column "ID"; SQL statement: 해결 방법은 2가지가 있다. H2 다운그레이드 (1.4.200 버전 사용) ;MODE=MySQL 추가 e.g. spring.datasource.url=jdbc:h2:tcp://localhost/~/test;MODE=MySQL 한참 서치했던 오류 ㅜㅅㅜ... 단순히 H2 버전 때문에 생긴 오류였다. IntelliJ 얼티밋 버전에서 H2 최신 버전을 사용하라고 추천해줘서 ok하고 눌렀는데 이런 파장이 생길 줄이야🥹 H2 database GenerationType.IDENTITY 오류 질문입니다. -.. 2024. 4. 8.
[Spring] IntelliJ 실행 시 finished with non-zero exit value 1 오류 [File > Settings] 메뉴 클릭 [Build, Excution, Deployment > Build Tools > Gradle] 클릭 Build and run using과 Run tests using : Gradle(Default)로 되어 있다면 Intellij IDEA로 바꿀 것 다른 파트를 설정하다가 Gradle(Default)로 바꿔두고는 잊어버려서 오류가 났다. 다행히 바로 해결~ [Spring] Intellij 실행시 finished with non-zero exit value 1 오류 Intellij 실행시 finished wit non-zero exit value 1 오류 velog.io 2024. 4. 8.
[Spring] SpringBoot 3.X 버전 - Swagger 적용 오류 해결 SpringBoot 3.2.4 버전 프로젝트에 Swagger를 적용하려 했는데 Type javax.servlet.http.HttpServletRequest not present 라는 오류를 마주쳤다. stack overflow의 관련 글⬇️ Springfox Type javax.servlet.http.HttpServletRequest not present I'm trying to use SpringFox. Spring Boot version: 'org.springframework.boot:3.0.0-SNAPSHOT' build.gradle dependencies { ... implementation 'io.springfox:springfox-petstore:2.10.5' implementation & s.. 2024. 4. 8.
[Spring] Ch.6 데이터베이스 연동 6.2 ORM Object Relational Mapping = 객체 관계 매핑 자바와 같은 객체지향 언어에서 의미하는 객체와 RDB(Relational Database)의 테이블을 자동으로 매핑하는 방법 객체 = 클래스 클래스는 데이터베이스의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB 테이블과 어쩔 수 없는 불일치가 존재함 → ORM은 이러한 불일치와 제약사항을 해결하는 역할 ORM의 장점 ORM을 사용하면서 데이터베이스 쿼리를 객체지향적으로 조작할 수 있음 쿼리문을 작성하는 양이 현저히 줄어 개발 비용이 줄어듦 객체지향적으로 데이터베이스에 접근할 수 있어 코드의 가독성을 높임 재사용 및 유지보수가 편리함 ORM을 통해 매핑된 객체는 모두 독립적으로 작성되어 있어 재사용이 용이함 객체들.. 2024. 4. 8.
[Spring] Ch.5 API를 작성하는 다양한 방법 5.2 GET API 만들기 GET API : 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API @RestController @RequestMapping("/api/v1/get-api") public class GetController { } 컨트롤러에 @RestController와 @RequestMapping을 붙여 내부에 선언되는 메서드에서 사용할 공통 URL을 설정한다. 클래스 수준에서 @RequestMapping을 설정하면 내부에 선언한 메서드의 URL 리소스 앞에 @RequestMapping의 값이 공통 값으로 추가된다. 5.2.1 @RequestMapping으로 구현하기 @RequestMapping 어노테이션을 별다른 설정 없이 선언하면 HTTP의 모든 요청을 받는다. GET 형식의 요.. 2024. 4. 8.