홍팍 스프링부트 입문 강의 공부한거 기록함.
모든 내용이 있지 않습니다.
질문글 보니까 강의 제목과 링크를 남기면 괜찮다고 하셔서 강의 링크 올립니다.
1.롬복과 리팩터링
10강
롬복을 활용하여, 기존 코드를 "리팩터링"하시오
롬복:코드를 간소화시키는 라이브러리
toStirng, getter(), setter()등 매번 작성하는게 귀찮음 롬복은 이런 필수 코드의 반복을 최소화하고 (@DATA)
로깅을 통해 println 기능도 개선함(@Slf4j)
Refactoring: 코드의 구조, 성능을 개선하는 작업
Logging:프로그래밍 수행과정을 기록 남김(자동차 블랙박스 같은거)

dependencies에 라이브러리, 즉 프로젝트 생성을 위한 도구들을 추가해줌

프로젝트 변화들을 감지해서 불러주는 아이콘

롬복 추가 완료

체크표시해야 롬복 사용 가능
<dto 리팩터링>
생성자 지우고 @AllArgsConstructor
toString 지우고 @ToString 설정
<entity 리팩터링>
생성자 지우고 @AllArgsConstructor
@AllArgsConstructor :필드들 id, title, content를 파라미터로 하는 생성자들을 자동으로 만들어줌
toString() 지우고 @ToString 추가

Class 'Article' should have [public, protected] no-arg constructor 에러는 ide에서 컴파일 에러로 잡지 않는다.
intellij에서 컴파일시 exception 발생하지 않으며 스프링 부트가 정상적으로 올라간다.
만약 해결하고 싶으면 https://stackoverflow.com/questions/62854403/intellij-ide-show-error-highlight-in-entities를 참조해서 해결하면 된다.
<로그남기기>
controller/ArticleController
public String createArticles(ArticleForm form){
System.out.println(form.toString());
실제 서버에서는 println는 기록에 남지도 않고 성능에도 악영향 끼침
=>로깅으로 대체
로깅이란? 자동차가 사고날때 블랙박스 같은거
서버에서 일어나는 일들을 다 기록할 수 있다.
로깅 사용법
서버 실행 시 주의점:서버 두 개가 동시에 실행되지 않도록 주의, 에러 뜨면 하나 서버는 중지시키고 기존 서버 재시동
<확인>

ArticleController(좌)에서 이런 것(우)들이 실행됐다 라는 기록을 제공함
println을 사용하면 우측들만 나오는데 로깅을 사용하면 좌측처럼 다양한 정보를 제공함
2. 데이터 조회하기
11강 DB속 데이터를 조회하여 웹페이지로 확인하기
데이터를 가져오는 주체:리파지토리

@Autowired로 가져왔던 리파지토리를 통해서 데이터를 가져옴
//1.id로 데이터를 가져옴
Article articeEntity=articleRepository.findById(id).orElse(null);
이렇게 가져옴
//1.id로 데이터를 가져옴
Article articeEntity=articleRepository.findById(id).orElse(null); //articleRepository가 findById로 값을 반환할때
//리턴타입이 Article 타입이 아니라 Optional<Article>로 반환함
//findById로 id를 찾았는데 값이 없으면 null을 반환, articleEntity에는 id값이 들어가거나 id값이 없으면 null이 들어감



entity를 가져옴(모델에 있는 데이터) 이 간격에서 article을 사용할 수 있다
http://localhost:8080/articles/1 입력

이런식으로 에러가 남

서버 확인해보면 이런식으로 에러 발생됐다는 걸 알 수 있다.
entity에 기본 생성자가 없어서 에러가 났다. =>entity/article 파일에 @NoArgsConstructor //디폴트 생성자 추가

http://localhost:8080/articles/1 입력-> 정상 작동
'Springboot' 카테고리의 다른 글
| 스프링부트 서블릿 HttpservletResponse 500번 상태코드, 메세지 바꾸기 (0) | 2023.12.30 |
|---|---|
| 홍팍 스프링부트 6 (0) | 2023.08.03 |
| Spring 홍팍 스프링부트, 입문 강의 기록 2 (0) | 2023.08.03 |
| 홍팍 스프링부트 5 (0) | 2023.08.03 |
| 홍팍 스프링부트 4 (0) | 2023.08.01 |