kotlin spring

· Spring/MVC
문제 상황 및 원인스프링 애플리케이션을 백엔드로 하고, React 애플리케이션을 프론트엔드로 하는 개발하던 중, 다음과 같은 오류를 발견했다. Access to XMLHttpRequest at 'http://localhost:8080/hello?name=world' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 확인해보니, 브라우저는 기본적으로 동일 출처 정책(Same Origin Policy, SOP)을 지키기 때문에 다른 출처의 리소스 접근을 금지해 생기는 문제로 확인됐다. 이를 해결하기..
실행된 SQL문의 확인이 필요한 이유Spring Data JPA를 사용하면 JpaRepository를 상속해 기본적인 CRUD가 가능한 함수들을 사용할 수 있다. 하지만, 이 함수들을 사용하면, JPA에서 알아서 SQL문을 만들어서 쿼리하기 때문에 어떤 SQL문이 실행되는지 확인하기 어렵다. 대부분의 상황에서 이것은 문제가 되지 않지만, 만약 버그가 일어났다면 어떤 SQL문 때문에 문제가 생겼는지 확인해야 한다. Spring Data JPA는 이를 위해 실행되는 SQL문을 로깅할 수 있는 기능을 제공한다. 지금부터 이 방법에 대해 알아보자.  실행된 SQL문 로깅하기실행된 SQL문을 로깅하도록 설정하기 위해서는 application.properties 파일에 다음과 같은 설정을 추가해야 한다.spring..
시작하며이전 글에서 우리는 DB를 만들고 커넥션을 설정한 다음, 테이블을 만드는 작업을 했다.코틀린 스프링 프로젝트에 Spring Data JPA 와 H2 Database 사용 설정하기[Kotlin Spring JPA] @Entity, @Table, @Id, @Column 사용해 Table 정보 설정하는 방법 한 번에 정리하기 이제 테이블을 만들었으니, 이번 글에서는 쿼리를 만들어 실행해보자.일반적으로 쿼리를 실행하기 위해서는 쿼리문을 작성해야 하지만, Spring Data JPA를 사용하면 기본적인 쿼리문을 모두 기본으로 생성되게 만들 수 있는데 이런 역할을 하는 것이 바로 JpaRepository이다. 지금부터 JpaRepository를 사용해 쿼리를 만들어 실행해보자. JpaRepository 상속..
@Entity와 @Id 어노테이션 사용해 테이블 정의하기특정 클래스에 @Entity 어노테이션을 사용하면 테이블을 정의할 수 있다. 예를 들어 단어 정보를 저장하기 위한 Vocabulary 테이블을 정의한다고 해보자. 이런 테이블은 다음과 같이 정의될 수 있다. @Entitydata class Vocabulary( @Id val id: String = UUID.randomUUID().toString(), val word: String, val meaning: String) 이 테이블의 이름은 클래스의 이름과 같은 Vocabulary가 되며, 내부에는 아이디 id, 단어 word,  뜻 meaning 세가지 필드를 가진다. 테이블에는 꼭 Primary Key가 필요하기 때문에 id 변..
Live Reload란?스프링 부트로 스프링 애플리케이션을 개발하면서 코드에 변경 사항이 발생하면, 애플리케이션을 중지한 후 다시 실행해야 변경 사항을 확인할 수 있다. 하지만, 매번 이 과정을 거치는 것은 번거롭다. 이 문제를 해결하기 위해 Spring Boot는 DevTools 모듈을 통해 Live Reload라는 기능을 제공해 이 과정을 자동으로 할 수 있게 한다. DevTools 의존성 추가하기이런 기능을 사용하기 위해서는 DevTools 모듈을 추가해야 한다. build.gradle.kts 파일의 dependencies 블록에 다음과 같은 의존성을 설정한다.dependencies { developmentOnly("org.springframework.boot:spring-boot-devtoo..
Dev.Cho
'kotlin spring' 태그의 글 목록