12. Database란 무엇일까? Database: ‘데이터의 집합’DBMS(Database Management System): Database를 관리하고 운영하는 소프트웨어RDBMS(Relational DBMS): 관계형 데이터베이스RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다.테이블간 FK(Foreign Key)를 통해 다른 데이터를 조합해서 함께 볼수 있다라는 장점이 있습니다. Spring/팀스파르타 2024.10.27
11. DTO란 무엇일까? DTO(Data Transfer Object): 데이터 전송 및 이동을 위해 생성되는 객체Client에서 보내오는 데이터를 객체로 처리할 때 사용됩니다.서버의 계층간의 이동에도 사용됩니다.DB와의 소통을 담당하는 Java 클래스(Entity)를 그대로 Client에 반환하는 것이 아니라 DTO로 한 번 변환한 후 반환할 때도 사용됩니다. Spring/팀스파르타 2024.10.27
10. HTTP 데이터를 객체로 처리하는 방법 @ModelAttribute - form 태그 POST// [Request sample]// POST http://localhost:8080/hello/request/form/model// Header// Content type: application/x-www-form-urlencoded// Body// name=Robbie&age=95@PostMapping("/form/model")@ResponseBodypublic String helloRequestBodyForm(@ModelAttribute Star star) { return String.format("Hello, @ModelAttribute. (name = %s, age = %d) ", star.name, star.age);} HTM.. Spring/팀스파르타 2024.10.27
Java Spring properties https://tes1194.tistory.com/100 무작정 구글링을 통해 이메일 인증 기능을 구현하는데 성공했습니다. 이메일 인증 기능에서 properties 설정을 해주는데, properties가 무엇인며 왜-언제 사용하고, 어떻게 사용하는지에 대해 알아봤습니다 Properties란 무엇이고 언제 사용될까요? Properties(Java 속성 파일)은 프로젝트 구성 데이터 또는 설정을 저장하는 데 사용됩니다. 그렇다면 왜 설정을 수정하는 일이 필요할까요? 로컬서버의 properties에는 로컬 DB정보를, dev서버의 properties에는 공용 DB정보를, 실제 운영 서버의 properties에는 실제 사용자들의 데이터를 담는 DB정보를 저쟝해야합니다. 즉 동일한 소스코드에 실행하는 환경에 .. Spring/Spring 문법 2024.10.26
9. Path Variable과 Request Param Client 즉, 브라우저에서 서버로 HTTP 요청을 보낼 때 데이터를 함께 보낼 수 있습니다.서버에서는 이 데이터를 받아서 사용해야하는데 데이터를 보내는 방식이 한 가지가 아니라 여러 가지가 있기 때문에 모든 방식에 대한 처리 방법을 학습해야합니다. Path Variable// [Request sample]// GET http://localhost:8080/hello/request/star/Robbie/age/95@GetMapping("/star/{name}/age/{age}")@ResponseBodypublic String helloRequestPath(@PathVariable String name, @PathVariable int age){ return String.format("Hello,.. Spring/팀스파르타 2024.10.26
8. Jackson이란 무엇일까? Jackson: JSON 데이터 구조를 처리해주는 라이브러리Object를 JSON 타입의 String으로 변환해줄 수 있습니다.JSON 타입의 String을 Object로 변환해줄 수 있습니다.Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 JSON 데이터를 처리하지 않아도 자동으로 처리해주고 있습니다.SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공하고 있습니다.직접 JSON 데이터를 처리해야할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있습니다. Object to JSON:objectMapper.writeValueAsString()@Test@DisplayN.. Spring/팀스파르타 2024.10.26
7. 데이터를 Client에 반환하는 방법 https://tes1194.tistory.com/89 에 이어서.... 서버는 요청을 받아 html/css/js 파일을 반환해주는게 주 업무일까요? 최근에는 서버가 직접 뷰(html/css/js)를 반환하기 보다는 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호합니다. ` 특정한 정보 ` 의 형태: Json JSON 데이터 반환하는 방법템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환하면 templates 폴더에서 해당 문자열의 .html 파일을 찾아서 반환해줍니다.따라서 html 파일이 아닌 JSON 데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponseBody 애너테이션을 추가해줘야합니다.@RestController = @Control.. Spring/팀스파르타 2024.10.26
6. Controller - 정적, 동적 페이지 처리 @Controller는 해당 클래스가 Controller의 역할을 수행할 수 있도록 등록해줄 수 있습니다. 위 그림의 번호와 맵핑하여 설명하겠습니다. 1. Controller를 거치지 않고 바로 요청: SpringBoot 서버에 html 파일을 바로 요청하면 해당 html 파일을 static 폴더에서 찾아서 반환해 줍니다. 2. thymeleaf 주석 처리: Controller를 통해서 반환하는 것을 테스트 하려면, implementation 'org.springframework.boot:spring-boot-starter-thymeleaf’ 해당 dependency를 주석 처리해야 테스트가 가능합니다.thymeleaf 는 동적 페이지 처리를 위한 템플릿 엔진입니다. 추가하면 자동으로 Contro.. Spring/팀스파르타 2024.10.26
5. Spring MVC란 무엇일까? MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다. Model데이터와 비즈니스 로직을 담당합니다.데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다.View사용자 인터페이스를 담당합니다.사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다.Controller Model과 View 사이의 상호작용을 조정하고 제어합니다.사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트합니다.Servlet API를 기반으로 구축된 독창적인 웹 프레임워크로, 초기 버전부터 Spring Framewo.. Spring/팀스파르타 2024.10.25
Spring boot 에서 이메일 인증 구현하기 (googleEmail) - Bean 만들어서 주입하기 1. 의존성 추가 및 properties 설정 dependencies// 이메일 인증implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail', version: '3.0.5' propertiesspring.mail.host=smtp.gmail.comspring.mail.port=587spring.mail.username={email}spring.mail.password={password}spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=falsespring.mail.properties.mail.smtp... Spring/Spring 문법 2024.10.24