오늘 한 것 Spring 입문 수강 오늘 배운 것 Gradle이란 > Gradle build 자동화 시스템 > build: 작성한 소스 코드를 실행 가능한 결과물로 만드는 과정 Gradle 통해 build 하게 되면, libs 폴더에 실행 가능한 .jar 파일이 만들어진 것을 확인할 수 있다. > build.gradle Gradle 기반의 buil...

버그 bug소프트웨어가 예상하지 못한 결과를 내는 것개발 코드 배포 전, 버그를 찾아내는 법블랙박스 테스팅소프트웨어 내부 구조나 동작원리를 모르는 블랙박스와 같은 상태에서, 즉 웹 서비스의 사용자 입장에서 동작을 검사하는 방법장점: 누구나 테스트 가능단점: 기능이 증가
해당 클래스가 Controller의 역할을 수행할 수 있도록 함Spring MVC는 효율적 API 처리를 위해 Front Controller 패턴을 만들어냄API 마다 파일을 만들 필요가 없고, 유사한 성격의 API를 하나의 Controller로 관리함@GET, @PO
Client(브라우저)에서 서버로 HTTP 요청을 보낼 때 데이터를 함께 보낼 수 있음Path Variable 방식: 서버에 보내려는 데이터를 URL 경로에 추가할 수 있음🌐 GET http://localhost:8080/hello/request/star/R
DTO (Data Transfer Object): 데이터 전송 및 이동을 위해 생성되는 객체Client에서 보내오는 데이터를 객체로 처리할 때 사용됨서버의 계층간의 이동에 사용된DB와의 소통을 담당하는 Java 클래스를 그대로 Client에 반환하는 것이 아니라 DTO

DI를 사용하기 위해 객체 생성이 우선되어야 함하지만 언제, 어디서, 누가 객체를 생성할까?\-> Spring 프레임워크가 필요한 객체를 생성하고 관리하는 역할을 대신 해줌Spring IoC 컨테이너: 'Bean'을 모아둔 컨테이너Bean: Spring이 관리하는 객체
Spring Data JPA에서는 시간에 대해서 자동으로 값을 넣어주는 기능인 JPA Auditing을 제공하고 있음데이터의 생성(created_at), 수정(modified_at) 시간은 다양한 데이터에 매우 자주 활용됨각각의 Entity의 생성 수정 시간을 매번 작
Query Methods: Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methods 기능을 제공함JpaRepository 인터페이스에서 해당 인터페이스와 매핑되어있는 테이블에 요청하고자하는 SQL 메서드 이름을 사용하여 선언할

Bean 수동 등록Bean 자동 등록: @Component를 사용하면 @ComponentScan에 의해 자동으로 스캔되어 해당 클래스를 Bean으로 등록해줌일반적으로 위처럼 자동 등록함프로젝트의 규모가 커질 수록 등록할 Bean들이 만아지기 때문에 자동등록을 사용하면

JWT (Json Web Token): JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token일반적으로 쿠키 저장소를 사용해 JWT를 저장함서버가 1대인 경우Session1이 모든 Client의 로그인 정보를 소유함서버가 2대 이상인
내일 할 일
MSA 강의 주차별 요약본
@Entity 어노테이션이 클래스는 DB 테이블이랑 매핑되는 클래스 라는 것을 알려줌JPA 의존성을 추가해줘야함 -> JPA를 통해 이 클래스를 테이블로 인식함implementation 'org.springframework.boot:spring-boot-starter-
Entity @ManyToOne 어노테이션 : 관계 설정 - 여러 개의 Order가 하나의 Product를 참조한다 Order : Product = N : 1 헷갈리니까 Order 클래스에서 작성하였으니까, Many Order to One Product로 해석
get 종류 메서드의 경우에는 @Transactional(readOnly = true)를 사용하여 Transaction은 그대로 생성되지만, JPA에게 수정은 하지 않을 것이라고 힌트를 줌(변경 감지(dirty checking)을 하지 않음)Controller에서 Or