[Spring Boot] Thymeleaf - form 관련 기능 정리
2022. 6. 9. 13:02
Spring Boot/문법 정리
form 관련 기능 정리 Thymeleaf의 form과 관련된 기능들을 정리해보고 이를 응용해 간단한 학생 등록, 조회 서비스 제작 form 태그 생성 Controller에서 form을 호출할 때, Student 타입의 "student" 객체를 생성해 model을 통해 전달 form에서 th:object를 사용해 "student"를 전달 받음 action, method를 사용함으로서 form을 submit 하면 POST /student/register 로 form 값이 전송되게 지정 이 form을 만들 예정 th:field, input 태그로 이름, 학번, 나이 입력받기 이름 : input 태그에서 th:field를 사용함으로써 여기에 입력되는 값이 student.name에 들어가게 됨 원래는 ${stu..
[Spring Boot] Thymeleaf 기능 정리
2022. 6. 4. 15:30
Spring Boot/문법 정리
Thymeleaf 란? 템플릿 엔진 중 하나로 HTML 태그를 기반으로 th:속성을 추가해 동적인 View를 제공 쉽게 배울 수 있고 Spring과의 연동이 좋기 때문에 백엔드 개발자가 배워두면 좋음 사용 방법 dependency에 thymeleaf 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' HTML 파일에 아래 코드 추가 기능 정리 Controller에서 HTML 페이지로 값 전송 @GetMapping("/hello") public String hello(Model model) { model.addAttribute("data", "Hello"); return "thymeleaf_basic/hello";..
[Spring Boot] DI, @Autowired, @RequiredArgsConstructor
2022. 5. 17. 16:12
Spring Boot/문법 정리
DI(Dependency Injection) 란? 의존성 주입 개발자가 만든 객체들 간에는 서로 의존 관계가 존재 전에는 객체간의 의존 관계를 개발자가 일일이 주입해 줬어야 했음 이제는 Spring의 어노테이션들을 사용하면 Spring이 알아서 주입해줌 DI 관련 예제 Test 코드 작성 예제를 활용해 의존성 주입과 주입 방법에 대해 정리해 보려 함 위 예제를 요약해보면 ContentServiceTest에서 ContentService의 메소드들에 대한 테스트 진행 ContentService의 메소드들은 ContentRepository의 메소드들을 활용해 데이터에 접근 ContentRepository는 Map에 저장된 데이터들을 직접 CRUD 진행 이 때 ContentServiceTest에서는 Conten..
[Spring Boot] 테스트 코드 작성 예제
2022. 5. 12. 15:47
Spring Boot/문법 정리
테스트 코드의 필요성 서버를 실행해서 직접 테스트 해보지 않아도 되기 때문에 시간 단축 가능 테스트 코드를 통해 어떤 값이 주어졌을 때(given), 어떤 실행을 하면(when), 어떤 결과가 나와야 되는지(then)를 확인할 수 있기 때문에 코드를 파악하는데도 도움을 줄 수 있음 given - when - then 수정사항 발생 시 기존의 코드에 영향을 주는지 테스트 코드를 통해 파악할 수 있음 정확한 테스트 코드를 작성해 놓으면 실제 코드를 제대로 작성했는지 확인할 수 있음 테스트 주도 개발 (TDD) 이 외에도 여러가지 장점들이 있음 테스트 코드 예제 CRUD 게시판 만들기 예제를 테스트 해 볼 수 있는 테스트 코드 작성해 보는 예제 ContentService 기능 글 작성 글 보기 글 수정 글 삭..
[Spring Boot] CRUD 게시판 (DB 사용 X, 회원 기능 X)
2022. 5. 11. 17:21
Spring Boot/프로젝트
기능 글 작성 전체 글 보기 글 보기 글 수정 글 삭제 글 수정 및 삭제 시에는 비밀번호가 일치해야 함 프로젝트 구조 및 설명 domain : 비지니스 도메인 객체 content 객체 생성 repository : DB와 연결되는 부분 DB를 따로 연결하지 않았기 때문에 Map을 사용해 데이터 저장 프로젝트 재실행 시 데이터 초기화 service : 핵심 비지니스 로직 controller : 웹 MVC에서의 컨트롤러 역할 url mapping, view return, servcie와 연결 구현 코드 사용 라이브러리 spring-boot-starter-web spring-boot-starter-thymeleaf spring-boot-devtools lombok spring-boot-starter-test d..
[Spring Boot] @RestController, lombok
2022. 4. 29. 14:31
Spring Boot/문법 정리
@RestController @RestController = @Controller + @ResponseBody API 통신을 위해 @RestController 사용 https://chb2005.tistory.com/60 여기서 @Controller을 사용해 View를 return 해주는 예제를 만들어 봤음 @Controller의 메소드에서 return "hello-page"를 해주면 프로젝트의 resources 폴더에서 hello-page.html 파일을 화면에 띄워줬음 만약 @RestController의 메소드에서 똑같이 return "hello-page"를 해주면 Response Body에 "hello-page"라는 문자열을 담아 return 하게 됨 화면에 "hello-page" 출력 lombok ..
[Spring Boot] MVC 정의 및 예제
2022. 4. 26. 19:12
Spring Boot/문법 정리
MVC 란? Model View Controller의 약자 Application이 서비스하는 디자인 패턴 중 하나 Spring Boot도 MVC 디자인 패턴을 사용함 Model DB와 Controller 사이에서 데이터 전달 Application이 포함해야 될 데이터가 무엇인지 정의 View 또는 Controller에 대한 정보를 알면 안됨 View 레이아웃과 화면 처리 Application의 데이터를 보여주는 방식 정의 Controller와 소통 Model 또는 Controlle에 대한 정보를 알면 안됨 JSP, Thymeleaf, Groovy 등의 Template Engine이 있음 Controller View와 Model 사이에서 연결하는 역할 View와 Model에 대한 정보를 알아야 함 Appl..