[spring] 스프링과 어노테이션

dev_hnbm·2024년 1월 28일
0

대덕인재개발원

목록 보기
28/30

스프링의 대삼각형

  • PSA(Portable Service Abstraction): DB가 바뀌어도 source는 바뀌지 않음
  • POJO(Plain Oriented Java Object): 순수하게 JAVA만 사용하여 개발 가능
  • DI(Dependency Injection): 개발자가 객체 생성을 하지 않고 스프링이 알아서 함
  • AOP(Aspect Orientated Programming): 로그, 보안, 트랜잭션, 테러 등 스프링이 알아서 함




흐름

Controller > Service > ServiceImpl > Dao > Mapper XML > DB





어노테이션

@Controller

해당 클래스가 웹 애플리케이션의 컨트롤러임을 나타내며 HTTP 요청을 처리하고 응답을 생성하는 메서드를 포함할 수 있음

@Service

비즈니스 로직이 담긴 서비스 클래스임을 나타내며 주로 트랜잭션 관리 및 비즈니스 로직을 담당

@Repository

데이터 액세스를 담당하는 클래스임을 나타내며 데이터베이스와의 상호작용을 함

@Autowired

스프링 컨테이너가 해당 타입의 빈을 자동으로 주입하도록 지시하는 어노테이션 (DI, 의존성 주입)

@Data

롬복 라이브러리에서 제공하며 자동으로 getter, setter, equals, hashCode, toString 등을 생성해줌

@RequestMappping

특정 URL 패턴에 대한 요청을 처리하는 메서드에 부여됨

@GetMapping

HTTP GET 요청에 대한 처리 메서드임을 나타냄

@PostMapping

HTTP POST 요청에 대한 처리 메서드임을 나타냄

@ResponseBody

메서드가 HTTP 응답의 본문(body)으로 데이터 직접 반환시 사용

@RequestBody

HTTP 요청의 본문(body)을 자바 객체로 변환시 사용

@slf4j

롬복 라이브러리에서 제공하며 자동으로 로거를 생성해줌
private static final Logger logger = LoggerFactory.getLogger(ClassName.class);를 대체

0개의 댓글