Spring 72

12. Database란 무엇일까?

Database: ‘데이터의 집합’DBMS(Database Management System): Database를 관리하고 운영하는 소프트웨어RDBMS(Relational DBMS): 관계형 데이터베이스RDBMS는 테이블(table)이라는 최소 단위로 구성되며, 이 테이블은 열(column)과 행(row)으로 이루어져 있습니다.테이블간 FK(Foreign Key)를 통해 다른 데이터를 조합해서 함께 볼수 있다라는 장점이 있습니다.

Java Spring properties

https://tes1194.tistory.com/100 무작정 구글링을 통해 이메일 인증 기능을 구현하는데 성공했습니다. 이메일 인증 기능에서 properties 설정을 해주는데, properties가 무엇인며 왜-언제 사용하고, 어떻게 사용하는지에 대해 알아봤습니다   Properties란 무엇이고 언제 사용될까요? Properties(Java 속성 파일)은 프로젝트 구성 데이터 또는 설정을 저장하는 데 사용됩니다. 그렇다면 왜 설정을 수정하는 일이 필요할까요? 로컬서버의 properties에는 로컬 DB정보를, dev서버의 properties에는 공용 DB정보를, 실제 운영 서버의 properties에는 실제 사용자들의 데이터를 담는 DB정보를 저쟝해야합니다. 즉 동일한 소스코드에 실행하는 환경에 ..

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,..

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..

7. 데이터를 Client에 반환하는 방법

https://tes1194.tistory.com/89 에 이어서....  서버는 요청을 받아 html/css/js 파일을 반환해주는게 주 업무일까요?  최근에는 서버가 직접 뷰(html/css/js)를 반환하기 보다는 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호합니다. ` 특정한 정보 ` 의 형태: Json    JSON 데이터 반환하는 방법템플릿 엔진이 적용된 SpringBoot에서는 Controller에서 문자열을 반환하면 templates 폴더에서 해당 문자열의 .html 파일을 찾아서 반환해줍니다.따라서 html 파일이 아닌 JSON 데이터를 브라우저에 반환하고 싶다면 해당 메서드에 @ResponseBody 애너테이션을 추가해줘야합니다.@RestController  = @Control..

6. Controller - 정적, 동적 페이지 처리

@Controller는 해당 클래스가 Controller의 역할을 수행할 수 있도록 등록해줄 수 있습니다. 위 그림의 번호와 맵핑하여 설명하겠습니다. 1. Controller를 거치지 않고 바로 요청: SpringBoot 서버에 html 파일을 바로 요청하면 해당 html 파일을 static 폴더에서 찾아서 반환해 줍니다.    2. thymeleaf 주석 처리: Controller를 통해서 반환하는 것을 테스트 하려면,  implementation 'org.springframework.boot:spring-boot-starter-thymeleaf’ 해당 dependency를 주석 처리해야 테스트가 가능합니다.thymeleaf 는 동적 페이지 처리를 위한 템플릿 엔진입니다. 추가하면 자동으로 Contro..

5. Spring MVC란 무엇일까?

MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다.    Model데이터와 비즈니스 로직을 담당합니다.데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다.View사용자 인터페이스를 담당합니다.사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다.Controller Model과 View 사이의 상호작용을 조정하고 제어합니다.사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕으로 View를 업데이트합니다.Servlet API를 기반으로 구축된 독창적인 웹 프레임워크로, 초기 버전부터 Spring Framewo..

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...