본문 바로가기

Spring&IntelliJ

(44)
@NoArgsConstructor에 대하여 NoArgsConstructor를 설명하는 매우 좋은글. 매우 쉽게 씌어짐:  https://velog.io/@kevin_/%EB%82%B4%EA%B0%80-NoargsConstructor-access-AccessLevel.PROTECTED%EB%A5%BC-%EC%99%9C-%EC%9E%91%EC%84%B1%ED%96%88%EC%9D%84%EA%B9%8C알아두기: 객체는 참조를 통해서 연관된 객체들을 마음껏 탐색한다. 그런데 객체가 데이터베이스에 저장되어 있으므로 연관된 객체를 마음껏 탐색하기는 어렵다. Hibernate와 같은 JPA 구현체들은 이 문제를 해결 하기 위해서, 프록시라는 기술을 사용한다. 프록시를 사용하면, 연관된 객체를 처음부터 데이터베이스에서 조회하는 것이 아니라, 실제 사용하는 시점..
API설계 오류관련 Validation Failed 오류 보통 백단에서 내가 직접 정해주지 않은 오류중에 Spring어노테이션이 생성해 주는 Validation Failed라는 오류가 있다. 이 에러가 정확하게 어떠 어떠한 경우에 발생하는지는 몰라도 한가지 확실한 것은 백단과 프론트간의 DTO객체 안의 변수이름이 맞지 않으면 이러한 VF(Validation Failed)오류가 발생한다는 것이다!!! 프론트측의 상태 변수 이름은 content였다. 그리고 DTO객체에서 사용되는 변수의 이름은 comment였다. 그래서 아래 코드의 의미는 프론트 측에 상태로 있는 content상태를 comment라는 자료형으로 사용하겠다는 의미이다.
알기쉽게 정리한 @NoArgsConstructor @RequiredArgsConstructor @AllArgsConstructor 롬복을 사용하면 깔끔하게 getter, setter , 생성자 등등 만들어준다!근데 잘 모르고 사용하다 보면 에러가 발생할 수 있음. 주의하자.@NoArgsConstructor@RequiredArgsConstructor@AllArgsConstructorpublic class Board { @NotNull private Long idx; private String content;} @NoArgsConstructor기본 생성자를 생성해준다.이 경우 초기값 세팅이 필요한 final 변수가 있을 경우 컴파일 에러가 발생함으로 주의한다.@NoArgsConstructor(force=true) 를 사용하면 null, 0 등 기본 값으로 초기화 된다.Board board = new Board();  @..
@Requestbody, @ResponseBody에 대하여 출처: https://cheershennah.tistory.com/179@RequestBody 어노테이션과 @ResponseBody 어노테이션이 각각 HTTP요청 바디를 자바객체로 변환하고 자바객체를 다시 HTTP 응답 바디로 변환해준다. 요청 본문(request body)에 담긴 값을 자바객체로 변환. @RequestBody를 통해서 자바객체로 conversion을 하는데, 이때 HttpMessageConverter를 사용한다. @ResponseBody 가 붙은 파라미터에는 HTTP 요청의 분문 body 부분이 그대로 전달된다.RequestMappingHandlerAdpter 에는 HttpMessageConverter 타입의 메세지 변환기가 여러개 등록되어 있다.  @RequestBody 이 어노테이션..
@Controller와 @RestController 어노테이션 출처: https://velog.io/@dyunge_100/Spring-Controller%EC%99%80-RestController%EC%9D%98-%EC%B0%A8%EC%9D%B4 @Controller와 @RestController 둘 다 Spring에서 Controller를 지정해주기 위한 어노테이션이다. 전통적인 Spring MVC의 Controller인 @Controller와 RESTful 웹 서비스의 Controller인 @RestController의 주요한 차이점은 Response Body가 생성되는 방식이다.@RestController 어노테이션은 말 그대로 @Controller와 @ResponseBody가 합쳐진 어노테이션이라고 생각하면 된다. @Controller와 다르게 반환하려는 주..
Web Server와 WAS의 차이와 웹 서비스 구조 출처: https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html Front, Back 분리시 동작 원리 https://flexyduck.tistory.com/363 Front, Back분리시 동작 원리에 대해 설명한 글(매우유용) 목표!! Static Pages와 Dynamic Pages 과정을 이해한다. Web Server와 WAS의 차이를 이해한다. Web 서비스 구조(Web Service Architecture)에 대해 이해한다. 1. Static Pages Web Server는 파일 경로 이름을 받아 경로와 일치하는 file contents를 반환한다. 항상 동일한 페이지를 반환한다. Ex) image, html, css, javascript ..
(프론트연계)fetch api를 post 방식으로 보내기 출처:https://velog.io/@ctp102/SptringBoot-fetch-post-gson%EC%9C%BC%EB%A1%9C-%EC%84%9C%EB%B2%84%EC%97%90-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%84%EC%86%A1-%ED%9B%84-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0 벡단으로 데이터를 전송하고 받아오는 과정을 설명한 글이다. 내 프로젝트에 직접적으로 도움이 되는 글. 설명도 엄청 자세하다 로그인을 할 때 아이디, 비밀번호를 입력하고 로그인 버튼을 누른다. 서버에서는 입력된 아이디, 비밀번호를 데이터베이스와 비교하여 일치 여부를 판단한다. 이번 포스팅에서는 아이디, 비밀번호가 불일치일 때 페이지 전환 없이 ajax를 활용하여..
H2 새로운-저장소-생성하기 출처: https://velog.io/@mingsound21/H2-Dababase-%EC%83%88%EB%A1%9C%EC%9A%B4-%EC%A0%80%EC%9E%A5%EC%86%8C-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0 1. create new database 열기 h2.bat 실행한 뒤, 하단 바에서 ^ 클릭 H2 Dababase Engine 우 클릭 create a new database 2. DB 경로, username, password 입력 🗂️ 경로 ./ : h2 bin 폴더에 생성 ~/ : 개인 컴퓨터의 user 폴더에 생성 ⚠️ 참고로 비번 값 안 넣으면 생성이 안됩니다 ㅠㅠ 😄 일단 아무거나 넣고 나중에 비밀번호를 빈 값으로 설정해주면 비밀번호 입력하지 않고 접..