--------------- 컨트롤러 ---------------
컨트롤러 : 사용자의 요청을 처리한 후 지정된 뷰에 모델 객체를 넘겨주는 역할을 한다.
@Controller
Controller의 역할을 수행한다고 명시
@Autowired
스프링부트에서 제공하는 어노테이션, 객체 생성해서 가져와 줌
Annotation은 주석이라는 의미, 특별한 의미, 기능을 수행하도록 하는 기술
프로그램에게 추가적인 정보를 제공해주는 메타데이터.
어노테이션을 잘 정리해둔 블로그
[Spring Boot] 어노테이션 정리
SpringBoot란? Spring에서는 이러한 설정들을 자동화해주는 SpringBoot라는 프로젝트를 만들었다. Spring에서 SpringBoot라는 프레임워크를 내놓기 시작하면서 SpringBoot의 AutoConfigure(자동 구성) 기능을 통해
sddev.tistory.com
@GetMapping("/login")
서버의 리소르를 조회
@PostMapping("/)
서버에 리소스를 등록(저장)
Get/Post 알기
Get
url에 데이터를 포함시켜 요청
데이터를 헤더에 포함하여 전송
url에 데이터가 노출되어 보안에 취약
캐싱할 수 있음.
조회할 때만 사용
Post
url에 데이터를 노출하지 않고 요청
데이터를 바디에 포함
url에 데이터가 노출되지 않아 Get 방식보다 보안이 높음
캐싱할 수 없음.
노출되면 안되는 데이터를 저장할 때 사용
--------------- DTO ---------------
DTO (Data Transfer Object)
프로세스 간에 데이터를 던달하는 용도의 객체,
비즈니스 로직을 포함하지 않는 데이터를 전달하기 위한 단순한 객체.
컨트롤러에서 폼 데이터를 받을 때 DTO에 담는다.
저는 Data 클래스라고 생각하고 사용중입니다
변수, 생성자,toString()을 기본으로 추가
--------------- 엔티티 ---------------
자바 객체를 DB가 이해할 수 있게 만든 것으로, 이를 기반으로 테이블이 만들어집니다.
@Entity
테이블과 링크될 클래스
@Id
해당 테이블의 PK(Primary Key, 기본키) 필드
@GeneratedValue
PK의 생성 규칙 표시
@Column
테이블의 칼럼임을 표시
필수x, 기본값 외에 변경이 필요한 옵션이 존재할 경우 사용
--------------- 레파지터리 ---------------
엔티티가 DB속 테이블에 저장 및 관리될 수 있게 하는 인터페이스
extends CRUDRepository<Member, Long>
CRUD : 테이블 생성, 조회, 수정, 삭제