![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c1QPTH/btscS6fE1Ch/KLIJJfwxVtXhOWi3TGbKuK/img.png)
본 포스팅은 Spring MVC 패턴에 익숙해지기 위해 방명록을 만들고 간단한 CRUD를 구현해 보는 과정이다. 환경 상 로컬이 아닌 AWS의 EC2 환경에서 작성하는데, 이에 대한 설정 방법은 [Spring Boot] aws ec2에서 Spring Boot 프로젝트 환경설정 포스팅 참고 Spring 학습이 주 목적이기 때문에 프론트 엔드의 UI는 Bootstrap을 이용할 예정이고, 이에 대한 설명은 생략한다. 코드 참고 : https://github.com/on1ystar/guestbook2 GitHub - on1ystar/guestbook2 Contribute to on1ystar/guestbook2 development by creating an account on GitHub. github.co..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/NYiiW/btsa9KFkEv8/dcapkboSDcrl6xi3cw3bik/img.png)
Spring Boot를 사용하는 누구든, DB 연결 설정이나 JPA 관련 설정을 위해 application.properties 파일을 한 번 쯤은 작성해 봤을 것이다. 대충 감으로 어플리케이션의 속성 값을 지정해 주는 파일일 것이라고 추측은 할 수 있겠지만, 정확이 어떤 역할을 하며, 어떤 속성들을 가지고 있는 지 궁금해져 관련 포스팅을 하기로 했다. Goals application.properties 파일의 역할 application.properties을 사용하는 이유 설정 파일 우선 순위 application.properties 파일에 지정된 속성 값 사용 방법 application.properties vs application.yml application.properties 파일의 역할 Spring..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cfMYmr/btr5rgq1Pcf/kdtUE2MYFCJw0iDsTe12QK/img.png)
Goals DTO란? DTO를 사용하는 이유 DTO란? DTO는 Data Transfer Object의 약어로, 데이터 전송 객체를 의미한다. 다른 말로, 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체이다. 이때, 계층이란 Presentation(View, Controller), Business(Service), Persistence(DAO, Repository) 등을 의미한다. DTO를 사용하는 이유 그럼 왜 도메인 모델(Entity) 대신 DTO를 사용하는 이유가 뭘까? 관심사의 분리(Separation of Concerns, SoC) 도메인 모델은 Data Access 계층에서 데이터가 저장되는 DB와 직접적으로 관련되어 있는 객체다. 테이블의 구조에 맞게 설계되는 도메인 모델은 초기..
Goals compileClasspath vs runtimeClasspath compileOnly vs runtimeOnly vs implementation compileClasspath vs runtimeClasspath compileClasspath와 runtimeClasspath는 Gradle에서 프로젝트의 의존성 관리를 위해 사용되는 두 가지 중요한 속성입니다. compileClasspath 프로젝트 소스 코드를 컴파일하는 동안 필요한 모든 클래스 파일과 라이브러리를 포함합니다. 컴파일 시간에만 필요한 의존성이 포함되며, 런타임에는 필요하지 않습니다. 이러한 의존성은 빌드 결과물에 포함되지 않습니다. runtimeClasspath 프로젝트를 실행할 때 필요한 모든 클래스 파일과 라이브러리를 포함합..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bGGdfD/btr20zebCdr/1qOFgqLdsPHcmcAL32ERWK/img.png)
페이지 처리는 데이터베이스의 종류에 따라서 사용되는 기법이 다른 경우가 많아서 별도의 학습이 필요했다. 예를 들어, Oracle → inline view MySQL → limit JPA는 내부적으로 이런 처리를 Dialect라는 존재를 이용해 처리한다. 때문에 개발자들은 SQL이 아닌 API의 객체와 메서드를 사용하는 형태로 페이징 처리를 할 수 있다. Goals PagingAndSortRepository / Pageable / PageRequest 페이징 처리 정렬 조건 추가 쿼리 메서드와 Pageable 결합 PagingAndSortRepository / Pageable / PageRequest PagingAndSortRepository 인터페이스 Spring Data JPA의 PagingAndSor..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cO8TmO/btr0RID6yVS/8psCv0OxrrBYxcfMtzjUV0/img.png)
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한 인프런 강의 참고 이전 포스팅 [Spring Boot] 입문 - Spring Boot 프로젝트에 JPA 적용하기 [Spring Boot] 입문 - JPA를 사용하는 이유 [Spring Boot] 입문 - JDBC Template(feat. 스프링 통합 테스트) 드디어 우리의 Spring Boot 프로젝트에서 MemberRepository의 마지막 구현체다. 지금까지 메모리 기반 저장소부터 관계형 데이터베이스인 MySQl로 넘어오면서, 순수 JDBC 사용 → JDBC Template → JPA까지 구현체를 바꿔가며 어떻게 코드들이 마법처럼 간단해 지는지 확인했다. 근데 믿기지 않겠지만, 여기서 더 간단해 질 수 있다. 바로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/baqsvd/btr0zS8zEBF/FVdEjXtj6ftIXWX8U3fzz0/img.png)
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한 인프런 강의 참고 이전 포스팅 [Spring Boot] 입문 - JPA를 사용하는 이유 [Spring Boot] 입문 - JDBC Template(feat. 스프링 통합 테스트) Spring Boot 프로젝트에 JPA 적용하기 build.gradle 파일에 JPA 관련 라이브러리 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' // implementation 'org.springframework..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bOgg4K/btr0yhA0ITx/OCXlrF4GbvfOOrhKSMkWw1/img.png)
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 김영한 인프런 강의 참고 이전 포스팅 : 2023.02.21 - [Web Programming/Spring&Spring Boot] - [Spring Boot] 입문 - JDBC Template(feat. 스프링 통합 테스트) Goals JPA를 사용하지 않았을 때의 불편함 JPA란? JPA를 사용하는 이유 JPA를 사용하지 않았을 때의 불편함 우리가 JDBC API를 사용하는 이유는 자바 애플리케이션이 관계형 데이터베이스(보통의 경우)로 데이터를 관리하기 위해 SQL을 전달해야 하기 때문이다. 그래서 개발자는 당연히 SQL문을 JDBC API의 도움을 받아 다루게 되고 이 과정에서 문제가 발생한다. 반복적인 로직 이전의 예제에서..
- Total
- Today
- Yesterday
- 지옥에서 온 git
- 방명록 프로젝트
- jsp
- Gradle
- 스프링 테스트
- git branch
- Spring Boot
- 쉘 코드
- 파이썬 for Beginner 연습문제
- 생활코딩 javascript
- Thymeleaf
- 프로그래머스
- 선형 회귀
- 스프링 컨테이너
- 운영체제 반효경
- 스프링
- spring mvc
- Spring
- git
- JPA
- 스프링 mvc
- git merge
- 김영환
- Computer_Networking_A_Top-Down_Approach
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- Spring Data JPA
- Python Cookbook
- 패킷 스위칭
- 파이썬 for Beginner 솔루션
- 쉽게 배우는 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |