Spring Boot/STUDY 32

[Spring] @PathVariable과 @RequestParam 차이점

회사 코드를 리뷰하던 중 @PathVariable과 @RequestParam을 하나의 메서드에서 함께 쓰길래 차이점이 궁금해서 찾아봤다😵‍💫 @PathVariable과 @RequestParam 모두 URI를 통해 전달된 값을 파라미터로 받아오기 위해 사용한다는 것은 알고 있었지만, 어떤 차이가 있는지는 잘 몰랐다.   ✔️ @RequestParam과 @PathVariable의 차이우선 두 어노테이션 모두 http의 비연결성을 극복하고 데이터를 전달하기 위한 방법 중 하나로, URI를 통해 전달된 값을 파라미터로 받아오는 역할을 한다.URI를 통해 값을 전달하는 방식http://localhost8080/home?page=1&size=10http://localhost8080/home1쿼리스트링을 사용하여..

Spring Boot/STUDY 2024.09.26

[Spring] Maven과 Gradle 개념 및 비교

회사 소스파일을 내려받고 이클립스에서 적용시키려고 하니 Maven으로 빌드를 해야 했다.나는 항상 Gradle로만 프로젝트를 빌드해서 진행했기 때문에 각각의 개념과 차이점을 정리해보려고 한다!    ✔️ 빌드(Build)빌드는 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 결과를 말한다.우리가 작성한 소스코드(ex. java파일), 프로젝트에서 쓰인 각각의 파일 및 자원(.xml, .jpa, .jpg, properties)을 jvm이나 톰캣 같은 WAS가 인식할 수 있도록 패키징하는 과정 및 결과물을 일컫는다.Java 프로젝트를 진행하면 개발자가 작성한 A.java와 여러 가지 정적 파일 등에 해당하는 resource가 존재한다.빌드를 한다면 소스코드를 컴파일해서 .class..

Spring Boot/STUDY 2024.08.29

[Spring] Mapper와 Repository의 차이

프로젝트 소스코드를 내려받은 후, 폴더 구조를 살펴봤는데 Mapper, Repository 둘 다 있는 것을 확인했다.예전 Spring Boot 프로젝트를 진행할 때는 mapper만 사용해서 했기 때문에 mapper와 Repository의 차이가 무엇인지 궁금해서 찾아봤다! MapperMapper는 데이터베이스와 애플리케이션 간의 상호작용을 처리하는 객체주로 SQL 쿼리를 사용하여 데이터베이스에서 데이터를 가져오거나 데이터를 데이터 베이스에 저장하는 데 사용 ⭐ 객체와 데이터베이스 간의 매핑을 처리하는 역할로써 객체와 데이터베이스 테이블 사이의 변환을 담당하여 객체와 테이블 간의 속성 매핑을 수행하는 것  RepositoryRepository는 데이터 엑세스 계층에서 데이터를 관리하고 엔티티에 접근하는 ..

Spring Boot/STUDY 2024.08.08

[Spring Boot] 타임리프(Thymeleaf)란?

📌 타임리프(Thymeleaf)란?타임리프는 자바 라이브러리이며, 텍스트, HTML, XML, JavaScript, CSS를 생성할 수 있는 템플릿 엔진이다.템플릿 엔진이란 스프링 서버에서 데이터를 받아 우리가 보는 웹 페이지, 즉 HTML 상에 그 데이터를 넣어 보여주는 도구이다. 템플릿 엔진은 HTML과 함께 템플릿 엔진을 위한 문법을 섞어 사용해야 한다.스프링 MVC와의 통합 모듈을 제공하며, 애플리케이션에서 JSP로 만든 기능들을 대체할 수 있다.Spring Boot에서는 JSP가 아닌 Thymeleaf 사용을 권장하고 있다. 개발 프로젝트를 진행할 때, JSP를 사용할지 타임리프를 사용할지에 대한 고민이 있었다.JSP는 무엇인지 알아보자. 📌 JSP란?JavaServer Pages의 약자를 ..

Spring Boot/STUDY 2024.07.17

[Spring Boot] React연동 프로젝트(4) - 상세 화면

🔽 이전 글 [Spring Boot] React연동 프로젝트(2) - 페이징 기능 구현🔽이전 글 [Spring Boot] React연동 프로젝트프로젝트 실행하기 위해 Spring Boot 웹서버, React 프론트 웹 서버도 함께 실행시킨다.  1. 리액트 프로젝트 생성- /spring03/frontboard 폴더 생성cd spring03npx creiieunji023.tistory.com  (Backend) RestBoardController.java detail() 메서드 생성/controller/BoardController.java에서 detail() GET 메서드 복사한 후 수정@GetMapping("/detail/{bno}") public BoardDto detail(@PathVariabl..

Spring Boot/STUDY 2024.07.04

[Spring Boot] React연동 프로젝트(2) - 페이징 기능 구현

🔽이전 글 [Spring Boot] React연동 프로젝트프로젝트 실행하기 위해 Spring Boot 웹서버, React 프론트 웹 서버도 함께 실행시킨다.  1. 리액트 프로젝트 생성- /spring03/frontboard 폴더 생성cd spring03npx create-react-app frontboard  2. 리액트 라이브러iieunji023.tistory.com   💥💥💥Spring Boot 서버가 실행되지 않았을 때 프론트 서버부터 시작하면 Uncaught runtime error가 발생한다.axios request가 예외발생시키기 때문에 try-catch로 wrapping 해줘야 한다. BoardList.js  예외처리 로직 추가 const getBoardList = async ()..

Spring Boot/STUDY 2024.07.03

[Spring Boot] React연동 프로젝트(1) - 프로젝트 생성 및 리스트 출력

프로젝트 실행하기 위해 Spring Boot 웹서버, React 프론트 웹 서버도 함께 실행시킨다.  1. 리액트 프로젝트 생성- /spring03/frontboard 폴더 생성cd spring03npx create-react-app frontboard  2. 리액트 라이브러리 설치, npmReact용 Bootstrap 설치npm install react-bootstrap bootstrap npm install axios -> REST API 통신 라이브러리npm install react-router-dom -> 리액트 화면 네비게이션npm install react-js-pagination -> 리액트 페이징 처리  3. frontBoard 개발 시작App.jsimport './App.css';impor..

Spring Boot/STUDY 2024.07.02

[Spring Boot] JPA 프로젝트 - 비밀번호 찾기 및 변경 기능 구현(2)

[Spring Boot] JPA 프로젝트 - 비밀번호 찾기 및 변경 기능 구현(1)비밀번호 찾기 및 변경 기능을 하기 전 메일 전송 테스트를 해볼려고 한다! build.gradle 메일을 보내기 위한 디펜던시 추가// 메일전송 디펜던시implementation 'org.springframework.boot:spring-boot-starter-mail' iieunji023.tistory.com 비밀번호 기능 구현 전 메일 테스트까지 완료했다  /templates/member/login.html 비밀번호 초기화 버튼비밀번호 초기화 태그를 통해 비밀번호 초기화시 이동될 url 연결 /controller/MemberController.java reset() 메서드 추가 @GetMapping("/reset") ..

Spring Boot/STUDY 2024.06.28

[Spring Boot] JPA 프로젝트 - 비밀번호 찾기 및 변경 기능 구현(1)

비밀번호 찾기 및 변경 기능을 하기 전 메일 전송 테스트를 해볼려고 한다! build.gradle 메일을 보내기 위한 디펜던시 추가// 메일전송 디펜던시implementation 'org.springframework.boot:spring-boot-starter-mail'  application.properties 메일 설정 입력## 메일설정spring.mail.host=smtp.naver.comspring.mail.port=465spring.mail.username=이메일(수신자)spring.mail.password=비밀번호spring.mail.properties.mail.smtp.starttls.enable=truespring.mail.properties.mail.smtp.auth=truespring...

Spring Boot/STUDY 2024.06.27