기능을 이용할 때 사용구조에 코드를 끼워 넣을 때 사용

Domain : 소프트웨어로 해결하고자 하는 문제 영역DTO (Data Transfer Object) : 계층끼리 데이터를 주고받을 수 있게 하는 객체Controller : 사용자의 요청에 대해 Json 형태로 객체 데이터를 반환Service : 비즈니스 로직 실행Repository : 도메인 객체를 관리하는 저장소.yml spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/{서버 주소}?createDatabaseIfNotExist=true&characterEncoding =UTF-8&characterSetResults=UTF-8
username: {username}
password: {password}
jpa:
hibernate:
ddl-auto: update
generate-ddl: true
show-sql: true.yml vs. .properties.yml : 계층 구조의 형태로 작성 가능.properties : 계층 구조의 형태로 작성 불가객체, 클래스, 메서드 등에 특별한 의미, 기능을 부여
@Entity로 표시@Setter 지양: 어느 경로로 값이 변경된 것인지 파악하기 어려움@Builder로 표시Model에 해당@Repository로 표시1. JPA
2. Spring DATA JPA
사용 방법
public interface MemberRepository extends JpaRepository<Member, Long> {
List<Member> findByUsernameAndAge(String username, int age);
// findByUsernameAndAge(String username, int age)
// == SELECT * FROM Member WHERE Username=username AND Age=age
}
@Controller로 표시@Service로 표시