본문 바로가기
백엔드/Spring Boot 이론

스프링부트 어노테이션

by P_eli 2023. 11. 26.
728x90
반응형

스프링 부트의 핵심 기능 중 하나인 어노테이션에 대해 알아보겠습니다. 스프링 부트는 어노테이션을 통해 간편하게 설정을 하고 다양한 기능을 활용할 수 있게 해주는데요. 이번 글에서는 주요 어노테이션 몇 가지를 소개하고 간단한 예시를 통해 어떻게 활용하는지 알아보겠습니다.

1. @SpringBootApplication

먼저, 스프링 부트 애플리케이션의 진입점을 지정하는 어노테이션입니다. 이 어노테이션을 사용하면 여러 설정들을 자동으로 처리해줍니다. 기본적으로 이 어노테이션을 사용하면 @Configuration, @EnableAutoConfiguration, @ComponentScan이 포함된 효과를 얻을 수 있습니다.

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

 

2. @Controller

컨트롤러를 정의하는 어노테이션입니다. 웹 애플리케이션에서 클라이언트의 요청을 처리하는 역할을 합니다.

@Controller
public class MyController {
    @GetMapping("/hello")
    @ResponseBody
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

 

3. @Service와 @Repository

@Service는 비즈니스 로직을 수행하는 서비스 빈을 정의할 때 사용하고, @Repository는 데이터베이스와 관련된 작업을 처리하는 빈을 정의할 때 사용합니다.

@Service
public class MyService {
    public String doSomething() {
        // 비즈니스 로직 수행
        return "Something done!";
    }
}

@Repository
public class MyRepository {
    public String fetchData() {
        // 데이터베이스에서 데이터를 가져옴
        return "Data from the database";
    }
}

 

4. @Autowired

의존성 주입을 위해 사용되는 어노테이션입니다. 스프링은 해당 어노테이션이 붙은 필드나 메소드에 해당하는 빈을 찾아서 주입해줍니다.

@Service
public class MyService {
    private final MyRepository myRepository;

    @Autowired
    public MyService(MyRepository myRepository) {
        this.myRepository = myRepository;
    }
}

 

이 외에도 다양한 어노테이션이 있으며, 각각의 어노테이션은 특정한 역할을 수행합니다.

728x90
반응형

'백엔드 > Spring Boot 이론' 카테고리의 다른 글

예제 : JUnit 단위테스트  (0) 2023.11.27
JUnit  (0) 2023.11.27
빈과 컨테이너  (0) 2023.11.24
제어의 역전과 의존성 주입  (0) 2023.11.23
스프링과 스프링부트 차이점  (1) 2023.11.23