너무 오랜만에 왔다. 그동안 너무 바빴음 밀린 스터디 자료 기록용임
저는 erdcloud를 주로 씁니다! 공짜라서



❗헷갈림 주의 - 검정색이 선택된 상태입니다
위 사진은
도메인
기본값
타입
코멘트
Null 허용
의 형태와 같다고 보면 됩니다.

+: PK 추가하기
+: 필드(컬럼) 추가하기 - Member의 경우, name, birthday 등
스프링 컨테이너 내에서 인스턴스화, 관리, 생성되는 객체.
Bean의 주요역할:
쉬운 예시:
카페에서 바리스타(스프링 컨테이너)에게 아이스 아메리카노(Bean)를 주문했다고 생각해봅시다.
여기서 아이스 아메리카노는 Bean, 바리스타는 스프링 컨테이너, 메뉴판은 설정 파일로 볼 수 있습니다. 이렇게 스프링 컨테이너는 Bean의 생성, 의존성 주입, 생명주기 관리를 자동으로 해줍니다
@Configuration, @Bean
@Component
@Service, @Repository, @Controller, @RestController
@RestController는 자동으로 @ResponseBody가 적용되어 반환값을 JSON 등으로 자동 변환@Autowired
@Service
public class BookService {
private final BookRepository bookRepository;
// @Autowired를 사용하여 BookRepository를 자동 주입
@Autowired
public BookService(BookRepository bookRepository){
this.bookRepository = bookRepository;
}
public List<Book> getAllBooks() {
return bookRepository.findAll();
}
}
@Scope
@Entity: 클래스의 인스턴스가 JPA에서 엔터티 객체임을 명시 이 어노테이션이 붙은 클래스는 데이터베이스의 테이블과 매핑됨 - **@Id** 가 필수적으로 포함되어야 함@Id: 변수가 엔터티의 기본 키(primary key)@GeneratedValue: 주로 @Id와 함께 사용되며, 기본 키의 생성 전략 포함
@Column: 변수가 데이터베이스의 특정 컬럼과 매핑됨@Table: 엔터티 클래스와 매핑될 데이터베이스 테이블의 이름을 명시 - 없어도 큰 문제는 없음@Builder: 빌더 패턴을 자동으로 구현**@Getter**: getter 메서드 자동 생성**@Setter**: setter 메서드 자동 생성**@NoArgsContructor**: 매개변수가 없는 기본 생성자를 자동으로 생성@NoArgsConstructor
public class NoArgsExample {
private String name;
private int age;
}
// 이렇게 되면 다음과 같은 기본 생성자를 생성합니다.
public NoArgsExample() {}
@AllArgsConstructor: 클래스의 모든 필드에 대한 생성자를 자동으로 생성 @AllArgsConstructor
public static class AllArgsExample {
private String name;
private int age;
}
// 이렇게 되면 다음과 같은 모든 필드에 대한 생성자를 생성합니다.
public AllArgsExample(String name, int age) {
this.name = name;
this.age = age;
}
@RequiredArgsConstructor: final 이 붙은 필드에 대한 생성자를 자동으로 생성public static class RequiredArgsExample {
@NonNull
private final String name;
private int age;
}
// 이렇게 되면 다음과 같은 final 필드 또는 @NonNull이 붙은 필드에 대한 생성자를 생성합니다.
public RequiredArgsExample(String name) {
this.name = name;
}
https://parkjh7764.tistory.com/212
위 링크 보면서 같이 해보아요