티스토리와 노션만 사용하다가 가독성을 위해 velog를 사용해본다.
Ctrl
+ Alt
+ L
정보를 저장하는 데이터베이스를 배우고, 이를 자바로 다루는 표준 방법인 JPA
개발환경 구축
- Zulu 를 사용한다.
- Advanced REST Client 사용
- Spring intializer를 클릭하고나서
- group은 url, 웹사이트 주소를 말하는데 관습적으로 거꾸로 쓴다
- Artifact(프로젝트 이름): week01
- Type: Gradle
- Language: Java
- Java Version: 8
- next 후 spring에 도움이 되는 개발툴 선택
- Lombok
- Spring Web
- Spring Data JPA
- H2 Database
- MySQL Driver
스프링 작동
- 프로젝트를 만들고나서 처음 나오는 java파일 (@springbootapplication)이라 되어있는거 run
- 이후 localhost:8080
- 스프링: 서버를 담당하여, 요청에 따라 눈에 보이는 것들 또는 데이터를 제공
private 일 경우 발생하는 오류
public 이면? 아무런 오류도 발생하지 않습니다.
- 그래서 멤버변수들도 private를 쓰는데, 이떄 이에 접근하기위한 것들이 getter/setter들이다.
자동생성: getter/setter 메서드를 일일이 많드는 것은 귀찮다. 툴을 적절히 활용하도록 하자.
- User 클래스 소스 내에서 마우스 우측 버튼 클릭 ->
- generate 를 클릭하면 해당 클래스의 필드 변수를 기준으로
- getter/setter 메서드들을 자동으로 만들 수 있다.
- 클래스에 멤버변수만 선언해놓고 위와 같이 적용해보자
package com.newproject.assignment.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PersonController {
@GetMapping ("/myinfo")
public Person getMyinfo(){
Person person = new Person();
person.setName("김도지");
person.setAge(27);
person.setAddress("서울");
person.setHeight(180);
return person;
}
}
// courses라고 치면 이런 식으로 값을 응답해줄거야
// Course 타입이 리턴타입이다.
// 지금 main에서 getCourses를 실행해주는 것이 없는데,
// 스프링에서 알아서 자동으로 해준다(스프링 장점)
// 이렇게 맵핑 ex)@--만 잘 해주면 메서드만 작성해도 알아서 잘 실행하는 것!
// java class를 json으로 바꾸는 것도 메서드 자동 실행도 다 spring이 한다.