개발/Spring Boot

Spring Boot [5]

0720kmc 2024. 10. 22. 18:11

📌어노테이션정리

 

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