티스토리 뷰
@Controller
- view를 반환하기 위해 사용한다. 클래스 이름 위에 사용
@RequestMapping
- 요청이 왔을 때 어떤 컨트롤러가 호출 되어야 하는지 알려준다.
@RequestMapping(value = "/hi")
이렇게 매핑을 해주면 localhost:8080/hi로 url을 입력했을 경우 이것에 해당하는 메서드가 실행된다.
속성
String[ ] value
- URL 패턴을 지정하는 속성이다.
RequestMethod[ ] method
- RequestMethod는 HTTP 메서드를 정의한 ENUM이다.
@RequestMapping(value="/post", method=RequestMethod.GET) // url이 post인 요청 중 GET메서드인 경우 호출
@RequestMapping(value="/post", method=RequestMethod.POST) // url이 post인 요청 중 POST 메서드인 경우 호출
@Autowired
- 필요한 의존 객체의 "타입"에 해당하는 빈을 찾아 주입한다.
생성자, setter, 필드 3가지의 경우에 Autowired를 사용할 수 있다. Autowired는 기본값이 true이기 때문에 의존성 주입을 할 대상을 찾지 못한다면 애플리케이션 구동에 실패한다.
@Autowired
public MemoController(MemoService memoService) { // MemoContorller를 객체화를 하기 위해 생성자를 만든다
this.memoService = memoService;
}
스프링에서 빈 인스턴스가 생성된 이후 @Autowired를 설정한 메서드가 자동으로 호출되고, 인스턴스가 자동으로 주입된다. 즉, 해당 변수 및 메서드에 스프링이 관리하는 Bean을 자동으로 매핑해주는 개념이다.
@ResponseBody
- 자바 객체를 HTTP요청의 바디내용으로 매핑하여 클라이언트로 전송한다. @ResponsBody가 붙은 파라미터가 있으면 HTTP요청의 미디어타입과 파라미터 타입을 먼저 확인한다.
즉, http요청 body를 자바 객체로 전달받을 수 있다.
@ResponseBody // 문자열 그대로 나온다.
public String postEmail(UserEntity user, EmailAuthEntity emailAuth) throws NoSuchAlgorithmException { // 엔티티에서 가져온다.
Enum<?> result = this.memberService.sendEmailAuth(user, emailAuth);
return result.name().toLowerCase();
}
@Transactional
- 메소드, 클래스, 인터페이스 위에 추가하여 사용하는 방식이 일반적이다. @Transactional이 추가되면, 클래스에 Transaction 기능이 적용된 프록시 객체가 생성된다.
@Transactional
public Enum<? extends IResult> sendEmailAuth(UserEntity user, EmailAuthEntity emailAuth)'웹 개발 > SpringBoot' 카테고리의 다른 글
| [String Boot] 메모장 구현 복습 Part 1 (2) | 2022.11.06 |
|---|---|
| [String Boot] 메모장 구현 과정 (2) | 2022.11.04 |
| [Spring Boot] 프로젝트 구조 (0) | 2022.11.03 |
| [Spring Boot] MVC 패턴 (2) | 2022.11.03 |
| [Spring Boot] 이메일 인증 구현 과정 (3) | 2022.11.03 |
댓글