### @Slf4j
`@Slf4j`는 Lombok 라이브러리에서 제공하는 애너테이션으로, 클래스에 로깅 기능을 추가합니다. 이 애너테이션을 사용하면 `log` 객체를 생성할 필요 없이 로깅을 간편하게 사용할 수 있습니다.
```java
@Slf4j
public class MyClass {
public void myMethod() {
log.info("This is an info message");
}
}
```
### @RequiredArgsConstructor
`@RequiredArgsConstructor`는 Lombok에서 제공하는 애너테이션으로, `final` 필드나 `@NonNull` 애너테이션이 붙은 필드에 대해 생성자를 자동으로 생성해줍니다. 주로 의존성 주입을 위해 사용됩니다.
```java
@RequiredArgsConstructor
public class MyClass {
private final MyService myService;
}
```
### @Controller
`@Controller`는 Spring MVC에서 사용되는 애너테이션으로, 클래스가 웹 요청을 처리하는 컨트롤러임을 나타냅니다. 요청을 처리하고 적절한 뷰를 반환하는 역할을 합니다.
```java
@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, World!");
return "hello";
}
}
```
### @RequestMapping
`@RequestMapping`은 요청 URL을 컨트롤러나 핸들러 메서드와 매핑하는 데 사용됩니다. 클래스와 메서드 레벨에서 모두 사용할 수 있습니다.
```java
@RequestMapping("/home")
public class MyController {
@RequestMapping("/welcome")
public String welcome() {
return "welcome";
}
}
```
### @Profile
`@Profile`은 특정 프로파일이 활성화된 경우에만 해당 빈을 활성화하도록 지정합니다. 예를 들어, "admin" 프로파일이 활성화된 경우에만 컨트롤러가 활성화됩니다.
```java
@Profile("admin")
@Controller
public class AdminController {
}
```
### @GetMapping
`@GetMapping`은 HTTP GET 요청을 특정 핸들러 메서드와 매핑하는 데 사용됩니다. `@RequestMapping(method = RequestMethod.GET)`의 축약형입니다.
```java
@GetMapping("/list")
public String list() {
return "list";
}
```
### @Service
`@Service`는 비즈니스 로직을 담당하는 서비스 클래스를 나타내는 Spring 애너테이션입니다. 주로 서비스 계층에서 사용됩니다.
```java
@Service
public class MyService {
}
```
### @Mapper
`@Mapper`는 MyBatis에서 매퍼 인터페이스를 나타내는 애너테이션입니다. 매퍼 인터페이스는 SQL 쿼리를 메서드와 매핑하는 역할을 합니다.
```java
@Mapper
public interface MyMapper {
List<MyEntity> findAll();
}
```
### @SpringBootApplication
`@SpringBootApplication`은 Spring Boot 애플리케이션의 시작 클래스에 사용됩니다. 여러 애너테이션을 결합하여 Spring Boot 애플리케이션의 설정을 간소화합니다.
```java
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```
### @MapperScan
`@MapperScan`은 MyBatis 매퍼 인터페이스를 검색하고 자동으로 빈으로 등록하는 데 사용됩니다. 주로 Spring Boot 애플리케이션 설정 클래스에 사용됩니다.
```java
@SpringBootApplication
@MapperScan(basePackages = "com.example.mapper")
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
```.
'학습 > Java_Spring' 카테고리의 다른 글
java로 한글(HWP)파일 읽어서 출력하기 (0) | 2024.06.24 |
---|---|
Mybatis일때 Controller에서의 페이징처리 (0) | 2024.06.24 |
Spring Boot에서 하나의 JAR 파일로 빌드하고, 각기 다른 포트로 'admin'과 'user' 컨트롤러를 구분하기 (0) | 2024.06.24 |
Spring Boot 애플리케이션에서 CORS(Cross-Origin Resource Sharing)를 설정 (0) | 2024.06.23 |
openjdk 설치 (0) | 2024.06.21 |