[스프링 트랜잭션] 스프링 트랜잭션 기본
·
노빠꾸 개발일지/SPRING
스프링 트랜잭션은 데이터베이스에서 수행되는 여러 작업들을 하나의 작업단위로 묶어서 관리하는 기능이다. 트랜잭션 내의 모든 작업이 성공하면 커밋하고, 하나라도 실패를 하게되면 작업을 롤백시킬 수 있다. 스프링은 PlatformTransactionManager라는 인터페이스를 통해 트랜잭션을 추상화 한다.public interface PlatformTransactionManager extends TransactionManager { TransactionStatus getTransaction(@Nullable TransactionDefinition definition) throws TransactionException; void commit(TransactionStatus status) throws..
[Spring Data JPA] 쿼리 메소드 @Query 어노테이션 JPQL 쿼리
·
노빠꾸 개발일지/SPRING
👉 Spring Data Jpa 쿼리메소드 메소드 이름으로 쿼리 2023.06.14 - [노빠꾸 개발일지/SPRING] - [Spring Data JPA] 쿼리 메소드(Query Method) 방식 알아보기 [Spring Data JPA] 쿼리 메소드(Query Method) 방식 알아보기 👉 Spring Data Jpa 쿼리메소드 @Query 어노테이션 이용 방식 2023.06.15 - [노빠꾸 개발일지/SPRING] - [Spring Data JPA] 쿼리 메소드 @Query 어노테이션 JPQL 쿼리 [Spring Data JPA] 쿼리 메소드 @Query 어노테이션 JPQL nobacking.tistory.com 이번 피드에서는 쿼리메소드 방식에서 @Query 어노테이션을 이용한 JPQL쿼리를 알아..
[Spring Data JPA] 쿼리 메소드(Query Method) 방식 알아보기
·
노빠꾸 개발일지/SPRING
👉 Spring Data Jpa 쿼리메소드 @Query 어노테이션 이용 방식 2023.06.15 - [노빠꾸 개발일지/SPRING] - [Spring Data JPA] 쿼리 메소드 @Query 어노테이션 JPQL 쿼리 [Spring Data JPA] 쿼리 메소드 @Query 어노테이션 JPQL 쿼리 이번 피드에서는 쿼리메소드 방식에서 @Query 어노테이션을 이용한 JPQL쿼리를 알아보겠습니다. @Query 어노테이션을 이용한 JPQL 쿼리 @Query 어노테이션을 이용하여 JPQL쿼리를 하는 방법 예제) MemberEn nobacking.tistory.com 이번 피드에서는 Spring Data JPA 쿼리 메소드에 대해 간단히 정리해 보겠습니다. 메소드 이름으로 쿼리 메소드 이름으로 JPQL 쿼리를 ..
[Spring Boot] 스프링부트 H2 DB 연결해보기
·
노빠꾸 개발일지/SPRING
먼저 H2 DB를 간단히 알아보면, H2 DB는 테스트 용도로 간단히 사용할 수 있는 DB이다. 아래 사이트에 들어가면 파일 다운로드와 h2 DB에 관한 정보를 추가적으로 확인해 볼 수 있다. https://www.h2database.com H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedd..
[스프링] 의존성 주입(Dependency Injection) 방법
·
노빠꾸 개발일지/SPRING
스프링 의존성 주입 방법에 대해 간단히 정리해보겠습니다. 의존관계 주입 방법 1. 생성자 주입 생성자를 통해 의존관계를 주입받는 방법. @RestController public class UserController { private UserService userService; @Autowired public UserController(UserService userService) { this.userService = userService; } } 이떄 생성자가 1개일 경우 @Autowired는 생략 가능하다. Lombok 에노테이션을 이용한 생성자 주입 방식 @RequiredArgsConstructor : final이 붙거나 @NotNull이 붙은 필드의 생성자를 자동 생성해주는 Lombok 에노테이션 @..
스프링 프레임워크(Spring Framework)와 스프링 부트(Spring Boot)
·
노빠꾸 개발일지/SPRING
이번 피드에서는 스프링 프레임워크와 스프링부트를 간단히 정리해보겠습니다. 스프링 프레임워크 스프링 프레임워크는 엔터프라이즈 애플리케이션을 개발하려고 개발된 경량 프레임워크다. 스프링 프레임워크는 프레임워크의 코드와 개발자의 코드가 복잡하게 얽히는 일이 없어서 비침투적 프레임워크라고 한다. 스프링 프레임워크의 특징 - POJO(Plain Old Java Object) 기반의 경량 컨테이너 제공 - 복잡한 비즈니스 영역의 문제를 쉽게 개발하고 운영하기 위한 철학 - 여러 개의 개별 단위로 구성되어 있는 모듈식 프레임워크 - 높은 확장성 및 범용성, 광범위한 생태계 시스템 - 엔터프라이즈 애플리케이션에 적합한 경량급 오픈 소스 프레임워크 스프링 부트 스프링 부트는 빠르게 애플리케이션을 개발하고 서비스하는 것을..
Spring Security 5.7.x 이후 버전에서 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법
·
노빠꾸 개발일지/SPRING
소개 Spring Security에서 제공하는 WebSecurityConfigurerAdapter 클래스는 웹 애플리케이션의 보안 구성을 위해 사용되는 중요한 클래스입니다. 그러나 스프링 시큐리티 5.7.x 버전 이후부터는 이 클래스가 deprecation 되었습니다. 이번 피드에서는 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법에 대해 알아보겠습니다. WebSecurityConfigurerAdapter 클래스란? WebSecurityConfigurerAdapter 클래스는 스프링 시큐리티에서 제공하는 클래스로, HTTP 요청에 대한 보안 구성을 설정하는 메서드를 제공합니다. 예를 들어, 로그인 폼, 로그아웃, 인증에 대한 설정을 추가할 수 있습니다...
스프링부트 프로젝트 기본 생성 방법 및 간단한 정리
·
노빠꾸 개발일지/SPRING
스프링 부트 프로젝트 생성해보기 스프링 부트 프로젝트 생성방법 스프링부트 프로젝트를 생성하는 방법에는 대표적으로 2가지 방법이 있다. Spring initializr 사이트 이용 IDE 메뉴를 통한 프로젝트 생성 ℹ 스프링부트 버전마다 지원하는 라이브러리 버전이 다르므로 버전에 맞게 라이브러리를 추가하여 프로젝트를 생성하여야 한다. 스프링부트 프로젝트 실행해보기 스프링 부트 프로젝트를 생성하게되면, 아래와 같이 프로젝트가 생성이 된다. 스프링 부트 프로젝트는 생성 후, 별다른 설정없이 바로 프로젝트를 실행해 볼 수 있다. 아래의 프로젝트 구조 예시는 특별한 설정없이 생성한 스프링부트 프로젝트이다. src/main/java 해당 영역은 자바파일이 관리되는 폴더이다. Controller, Service, D..
스프링 부트(Spring Boot)란?
·
노빠꾸 개발일지/SPRING
🤔 스프링 부트는 스프링 기반으로 독립실행형 애플리케이션을 쉽게 만들 수 있게 해준다. ● 스프링 부트 특징 1. 독립형 Spring 애플리케이션 생성, Tomcat, Jetty 또는 Undertow를 직접 포함(WAR 파일을 배포할 필요 없음) - 별도로 설치된 컨테이너(Tomcat.. 등)로 배포하지 않고 독립실행형(Standalone) 자바 애플리케이션으로 동작한다. 2. 빌드 구성을 단순화하기 위해 독자적인 '스타터' 종속성을 제공합니다. - 스프링부트는 검증된 라이브러리 구성, 의존관계와 적용할 버전, 각 라이브러리의 세부구성과 디폴트 설정을 제공한다. 3. 가능할 때마다 자동으로 Spring 및 타사 라이브러리 구성 4. 코드 생성이나 XML 설정이 필요하지 않다. 참고 : https://sp..
[Spring JPA] 스프링부트 + JPA + MySQL 프로젝트 세팅하기 - 1
·
노빠꾸 개발일지/SPRING
이번 피드에서는 Spring Boot(스프링부트)와 JPA, MySQL을 이용하여 프로젝트를 세팅하는 피드를 정리해 보도록 하겠습니다. 개발환경은 Intelij를 이용하여 진행해보겠습니다. 1. 프로젝트 생성 및 모듈 생성 우선 프로젝트를 생성해줍니다. 프로젝트가 정상적으로 생성되었으면, 생성한 프로젝트 하위에 모듈을 생성해 줍니다. 해당 모듈에 스프링 부트 + JPA + MySQL 세팅을 진행 할 것입니다. File -> New -> Module... 메뉴를 선택하여 모듈생성 창을 띄웁니다. Spring Boot를 이용할 것이기 때문에 Spring initializr를 선택해주고, 각각 세팅하고 싶은데로 세팅을 해준다. 여기서는 Maven, JAVA 8, War를 선택하여 진행해 보겠습니다. 값 선택을..