티스토리 뷰
@SpringBootApplication
해당 클래스가 스프링 부트를 설정하는 클래스임을 의미한다.
스프링은 이 클래스가 있는 패키지를 베이스 패키지로 간주한다.
베이스 패키지와 하위 패키지에서 자바 빈을 찾아 ApplicationContext에 등록한다.
@ComponentScan을 포함한다.
@Autowired
자동으로 다른 오브젝트를 찾아 연결해준다.
@Component
이 오브젝트를 스프링에 빈으로 등록할 수 있다.
@Controller, @Service, @Repository 내부에는 전부 이 어노테이션이 달려있다.
@Bean
스프링이 자동으로 오브젝트 찾아 생성하게 하고싶지않을 때 사용.
메소드 앞에 붙임.
스프링에게 이 오브젝트를 어떻게 생성해야 하는지, 매개변수를 어떻게 넣어줘야 하는지 알려준다.
@Service
자바빈
@RestController
JSON을 리턴하는 웹 서비스임을 명시.
웹에서 오는 요청을 처리해준다.
@Component 가지고있다 => 자바 빈 이고 스프링이 관리한다.
크게 @Controller와 @ResponseBody로 이루어져있다
- @ResponseBody : 이 클래스의 메서드가 리턴하는 것은 웹 서비스의 ResponseBody 이다.
@RequestMapping("url")
url을 지정해준다.리소스
클래스, 메소드 맵핑
@GetMapping
get메서드로 요청하면 여기에 연결된 컨트롤러가 실행된다.
URL경로 지정 가능.
메소드만 맵핑
@Builder
오브젝트 생성 디자인 패턴 중 하나. Builder 클래스를 따로 개발하지 않아도된다.
@NoArgsConstructor
매개변수 없는 생성자 구현
@AllArgsConstructor
클래스의 모든 멤버변수를 매개변수로 받는 생성자 구현
@Data
Getter/Setter 메서드 구현
@PathVariable
URL의 경로에 넘어오는 값을 변수로 받을 수 있게 해준다.
@RequestParam
URL의 경로에 넘어오는 값을 변수로 받을 수 있게 해준다. @PathVariable과 차이는 @PathVariable은 값 하나만 전달 할 수있고 RequestParam은 쿼리스트링 등 여러 데이터 받아올 때 사용한다.
@RequestBody
매개변수를 넘어받는 방법 중 하나.
반환할 리소스가 복잡할 때 사용. (String이나 int같은 기본자료형이 아닌 오브젝트 처럼 복잡한 자료형 통째로 보낼 때 사용) ex) 회원가입 정보 입력
@Service
스테레오타입 어노테이션.
이 클래스는 스프링 컴포넌트이며 기능적으로는 비즈니스 로직을 수행하는 서비스 레이어임을 알려준다.
@Component 가지고있다 => 자바 빈 이고 스프링이 관리한다.
@Autowired
스스로 빈 찾아 인스턴스 멤버변수에 연결해준다.
어떤 컨트롤러를 초기화하면 스프링이 알아서 멤버변수에 해당된 클래스(?)를 초기화 또는 검색해서 가져온다.
@Entity
entity로 지정하기 위해 사용. Entity 이름을 붕여할 땐 뒤에 매개변수를 넣어준다.
이름을 지정하지 않는 경우 클래스 이름을 테이블 이름으로 간주.
@Table
테이블 이름을 지정할 때 사용. 만약 @table을 추가하지 않거나 추가해도 이름을 명시하지 않으면 @entity의 이름을 테이블 이름으로 간두한다.
@Id
기본키가 될 필드 지정
@GeneratedValue
Id 필드를 자동 생성해준다.
@GenericGenerator
@GeneratedValue가 참조하는 어노테이션.
어떻게 id를 생성할지 지정한다.
hibernate에서 제공하는 기본generator이 아닌 나만의 generator을 사용하고 싶을때 사용.
@Slf4j
로그 라이브러리. 로깅할 클래스에 추가하면된다.
'백엔드 > Java & Spring' 카테고리의 다른 글
| [Spring] spring boot 에서 mongoDB 사용하기 (MacOS) (0) | 2023.11.10 |
|---|---|
| [JAVA] JAVA의 기초 (0) | 2023.05.18 |
| intellij mysql연동 " Server returns invalid timezone. Need to set 'serverTimezone' property. " 오류 해결방법 (0) | 2023.05.02 |
| [java & spring] @WebServlet 어노테이션 빨간줄 (0) | 2023.04.27 |
- Total
- Today
- Yesterday
- 자료구조
- 스프링부트
- 자바
- NestJS
- 프론트엔드
- 알고리즘
- Nest
- 코딩공부
- 웹개발
- Spring
- springboot
- 문자열출력
- HashMap
- coding
- 코딩
- 코딩테스트
- hash
- 프로그래머스
- codingtest
- programmers
- 자바공부
- 시간복잡도
- 스프링시큐리티
- Hashtable
- 네스트
- 코테
- Annotation
- intellij
- 인텔리제이
- Java
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |