장뽕뽕의 개발일기
close
프로필 배경
프로필 로고

장뽕뽕의 개발일기

  • 분류 전체보기 (149) N
    • Java (61)
      • Springboot (28)
      • Architecture (0)
      • Algorithm (17)
      • Trouble-Shooting (3)
      • Basic (13)
    • Security (16)
      • System (7)
      • Network (4)
      • Application (5)
    • Mobile (0)
      • Android (0)
      • Flutter (0)
    • JavaScript (16)
      • Node.js (16)
    • Linux (8)
    • Network (6)
    • Docker (4)
    • Project (5)
      • SecuriSuite (5)
    • Certificate (2)
      • 정보처리기사 (1)
      • 정보보안기사 (1)
    • Legacy (27)
      • JS+PHP+SQL (27)
    • 루트권한 없는 나의 하루 (4) N
  • 홈
Spring Boot - 스프링 데이터 JPA

Spring Boot - 스프링 데이터 JPA

스프링 부트와 JPA라는 기반 위에, 스프링 데이터 JPA를 사용하면리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있습니다.따라서 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있습니다. 이전의 JPA 설정을 그대로 사용하고.. SpringDataJpaMemberRepository>> package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.springframework.data.jpa.repository.JpaRepository;import java.util.Optional;public interface SpringDataJpaMemberRepository extends JpaRe..

  • format_list_bulleted Java/Springboot
  • · 2025. 3. 4.
  • textsms
Spring Boot - JPA를 사용한 CRUD 게시판 만들기

Spring Boot - JPA를 사용한 CRUD 게시판 만들기

JPA와 MyBatis 두 개를 놓고 보면,외국에선 MyBatis에 비해 JPA가 압도적으로 사용량이 많습니다.한국은 반대지만, 그 추세가 바뀌고 있다고 하더라고요..그래서 왜 같은 DB 접속 기술인데 JPA를 사용하는지 궁금했어요..JPA와 더 친해지고 싶어서.. 게시판을 하나 만들어봤어요..만들다 보니 조금은 알겠더라고요 쿼리문을 직접 안 써도 된다는 장점이 얼마나 큰지..!!서론이 길었네요.. 먼저 결과부터 보자면..Create>> Read(Delete)>>  Update>>  요구사항으론 Create, Read, Update, Delete 기능이 있는 게시판입니다.. 예상되는 로직은..요청 -> Controller -> Service -> Dao -> Service -> Controller -> ..

  • format_list_bulleted Java/Springboot
  • · 2025. 3. 4.
  • textsms
Spring Boot - JPA

Spring Boot - JPA

JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해 줍니다..SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있습니다..또한 개발 생산성을 크게 향상시킵니다.. 바로 JPA를 사용해 보죠먼저 bungle.gradle 파일에 JPA와 DB 관련 라이브러리를 추가합니다. implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 저는 기존에 쓰던 JDBC 라이브러리를 주석 처리하고 H2 데이터베이스를 사용했습니다.추가하고 꼭 Gradle을 새로고침 해주셔야 됩니다.. application.properties에선 JPA 설정을 추가해 줍니다. spring.jpa.show-sql=tr..

  • format_list_bulleted Java/Springboot
  • · 2025. 3. 3.
  • textsms

Spring Boot - JDBCTemplate 사용하기

스프링 JDBCTemplate는 기존의 JDBC와 동일한 환경설정을 해줍니다.JDBCTemplate나 Mybatis와 같은 라이브러리는 JDBC의 반복 코드를 대부분 제거해 줍니다.하지만 쿼리문은 직접 작성해 줘야 됩니다.. 개방-폐쇄의 원칙에 따라..기존에 MemberRepository 인터페이스를 JdbcMemberRepository를 구현체로 사용했다면JdbcTemplateMemberRepository를 구현체로 한 개 더 만든 뒤,스프링 빈 객체로 사용하도록 할게요.. JdbcTemplateMemberRepository>> package hello.hellospring.repository;import hello.hellospring.domain.Member;import org.springframe..

  • format_list_bulleted Java/Springboot
  • · 2025. 3. 3.
  • textsms
Spring Boot - 통합 테스트

Spring Boot - 통합 테스트

이전에 단위 테스트를 했다면,이번엔 스프링을 실제로 띄우고 DB 연동까지 하는 통합 테스트를 해보겠습니다..순수 자바 코드를 통해서 테스트를 하지 않고 스프링을 구동해야 되는 경우@SpringBootTest 어노테이션을 사용합니다.그리고 테스트 과정에서 쿼리문을 실제 commit 시키지 않고 테스트가 끝난 뒤에 Rollback시키려면@Transactional 어노테이션을 사용합니다. MemberServiceIntegrationTest>> package hello.hellospring.service;import hello.hellospring.domain.Member;import hello.hellospring.repository.MemberRepository;import org.assertj.core.a..

  • format_list_bulleted Java/Springboot
  • · 2025. 3. 3.
  • textsms
Spring Boot - JDBC를 이용해 리포지토리를 DB로 변경

Spring Boot - JDBC를 이용해 리포지토리를 DB로 변경

개방-폐쇄의 원칙(OCP, Open-Closed Principle)란, 확장에는 열려있고 수정 및 변경에는 닫혀있습니다.무슨 뜻이냐면..이때까지 회원관리 프로젝트를 하면서 데이터베이스가 정해지지 않은 상태에서 개발을 하게 되어서메모리에 회원정보를 저장시켰는데, 이 저장하는 부분을 메모리가 아닌 DB로 변경하겠다는 곳에 있습니다.변경을 하는 과정에서, DI를 이용하여 기존 코드에는 전혀 손대지 않고, 설정만으로 구현 클래스를 변경할 수 있습니다. 기존에 MemberService에서 MemberRepository 인터페이스에구현체가 MemoryMemberRepository가 있었다면, 이건 놔두고구현체를 JDBCMemberRepository를 만들어줘서 스프링 빈으로 사용할 겁니다. 먼저, build.gra..

  • format_list_bulleted Java/Springboot
  • · 2025. 3. 1.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
  • 장뽕뽕 사이트를 오픈합니다.
  • 개발 일기 사이트 이전 안내
전체 카테고리
  • 분류 전체보기 (149) N
    • Java (61)
      • Springboot (28)
      • Architecture (0)
      • Algorithm (17)
      • Trouble-Shooting (3)
      • Basic (13)
    • Security (16)
      • System (7)
      • Network (4)
      • Application (5)
    • Mobile (0)
      • Android (0)
      • Flutter (0)
    • JavaScript (16)
      • Node.js (16)
    • Linux (8)
    • Network (6)
    • Docker (4)
    • Project (5)
      • SecuriSuite (5)
    • Certificate (2)
      • 정보처리기사 (1)
      • 정보보안기사 (1)
    • Legacy (27)
      • JS+PHP+SQL (27)
    • 루트권한 없는 나의 하루 (4) N
최근 글
인기 글
최근 댓글
태그
  • #javascript
  • #java
  • #dothome
  • #php
  • #phpMyAdmin
  • #SQL
  • #html
  • #springboot
  • #Spring
  • #algorithm
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바