📌어노테이션정리
Mapper(interface) : 데이터베이스에 대한 CRUD(Create, Read, Update, Delete) 작업을 정의하는 메서드를 선언
import com.example.finalapp.dto.board.BoardListDTO;
import com.example.finalapp.dto.board.BoardUpdateDTO;
import com.example.finalapp.dto.board.BoardViewDTO;
import com.example.finalapp.dto.board.BoardWriteDTO;
import com.example.finalapp.dto.page.Criteria;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Optional;
@Mapper
public interface BoardMapper {
*사용 어노테이션
@Mapper : 해당 인터페이스가 MyBatis의 Mapper로 사용될 것임을 선언
MyBatisConfig : MyBatis의 전반적인 설정(예: 데이터 소스, 트랜잭션 관리, SQL 세션 팩토리 등)을 정의
@Configuration
@RequiredArgsConstructor
public class MyBatisConfig {
private final ApplicationContext applicationContext;
@Bean
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public HikariConfig hikariConfig(){
return new HikariConfig();
}
*사용 어노테이션
@Configuration : 스프링 MVC에서 컨트롤러 클래스를 정의하는 어노테이션
@RequireArgsConstructor : *final 필드나 @NonNull이 붙은 필드를 가진 필드에 대해 자동으로 생성자를 생성
-> 의존성 주입이 간편해
@Bean : 해당 메서드가 반환하는 객체를 스프링의 빈으로 등록
@ConfigurationProperties : 외부 설정 파일(application.properties 또는 application.yml)에서 특정 접두사를 가진 속성들을 클래스의 필드에 매핑
Service : 비즈니스 로직을 처리하여 유효성 검사/트랜잭션 처리/CRUD 작업 처리
@Service
@Transactional
@RequiredArgsConstructor
public class BoardService {
private final BoardMapper boardMapper;
private final FileMapper fileMapper;
private final FileService fileService;
@Value("C:/upload")
*사용 어노테이션
@Service : 해당 클래스가 서비스 계층의 컴포넌트임을 나타
@Transactional : 메서드 또는 클래스 단위로 트랜잭션을 관리
@RequireArgsConstructor : *final 필드나 @NonNull이 붙은 필드를 가진 필드에 대해 자동으로 생성자를 생성
-> 의존성 주입이 간편해
@Value : 외부 설정 파일(application.properties 또는 application.yml)에서 값을 주입받기 위해 사용
*컴포넌 : 컴포넌트는 스프링 프레임워크에서 관리되는 객체를 의미한다.(Bean으로 등록)
*트랜잭션 : 트랜잭션은 데이터베이스에서 수행되는 일련의 작업(쿼리)을 원자적으로 처리하는 단위를 말한다. 트랜잭션 내의 모든 작업은 모두 성공하거나 모두 실패해야 한다.
'개발 > Spring Boot' 카테고리의 다른 글
Spring Boot [4] (0) | 2024.10.21 |
---|---|
Spring Boot [3] (2) | 2024.10.20 |
Spring Boot [2] (1) | 2024.10.16 |
Spring Boot [1] (0) | 2024.10.15 |