전체 글 108

[게시판 만들기 (5)] 게시글 조회

BoardController에 findById 메서드를 추가한다. 특정 ID에 해당하는 게시글을 조회하고, 해당 게시글의 조회수를 증가시킨 후에 상세페이지(detail.html)로 이동하는 메서드이다. [ BoardController ] @GetMapping("/{id}") public String findById(@PathVariable Long id, Model model){ /* 해당 게시글의 조회수를 하나 올리고 게시글 데이터를 가져와서 detail.html에 출력 */ boardService.updateHits(id); BoardDTO boardDTO = boardService.findById(id); model.addAttribute("board", boardDTO); return "detai..

Spring Boot 2024.01.14

[게시판 만들기 (4)] 게시글 목록

BoardController에 findAll 메서드를 추가한다. Get 요청이 / 경로로 즉, http://localhost:8092/board/ 로 들어오면 실행되는 메서드이다. 게시글의 목록을 조회하고 해당 정보를 'list.html' 템플릿에 전달한다. [ BoardController ] @GetMapping("/") public String findAll(Model model) { // DB에서 전체 게시글 데이터를 가져와서 list.html에 보여준다. List boardDTOList = boardService.findAll(); model.addAttribute("boardList", boardDTOList); return "list"; } model.addAttribute은 조회한 게시글 목..

Spring Boot 2024.01.14

[게시판 만들기 (3)] 게시글 작성_게시글 작성 완료

BoardController에 PostMapping으로 게시글을 저장할 수 있게 추가한다. [BoardController] package test.SpringBootBoard.board.controller; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org...

Spring Boot 2024.01.13

[게시판 만들기 (2)] 게시글 작성_작성 페이지 이동하기

이제 게시글 작성 페이지를 만들어준다. 먼저 HomeController를 만든다. [ HomeController ] package test.SpringBootBoard.board.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String index(){ return "index"; } } templates 폴더에 index.html 파일도 만든다. [ index.html ] 글작성 글작성(링크) 글목록 페이징목록 http..

Spring Boot 2024.01.12

[게시판 만들기 (1)] SpringBoot + jpa + mysql 개발 환경 설정

SpringBoot + jpa + mysql 을 활용하여 게시판을 만드는 작은 프로젝트를 진행할 것이다. 강의는 유튜브 코딩레시피님의 강좌를 참고했다. https://www.youtube.com/watch?v=YshcPPHClR4&list=PLV9zd3otBRt7jmXvwCkmvJ8dH5tR_20c0&index=1 그분의 깃허브도 참고했다. https://github.com/codingrecipe1/board GitHub - codingrecipe1/board: Spring Boot Board Project 입니다. Spring Boot Board Project 입니다. . Contribute to codingrecipe1/board development by creating an account on G..

Spring Boot 2024.01.12

[스프링 입문] (4) 스프링 빈과 의존관계

[스프링 빈을 등록하는 2가지 방법] 1. 컴포넌트 스캔과 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록하기 - 실무에서는 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔 사용 - 정형화 되지 않거나, 상황에 따라 구현 클래스를 변경해야 하면 설정을 통해 스프링 빈으로 등록 - @Autowired를 통한 DI는 helloController, memberService 등과 같이 스프링이 관리하는 객체에서만 동작. 스프링 빈으로 등록하지 않고 내가 직접 생성한 객체에서는 동작하지 않음.

Spring Boot 2024.01.10

[스프링 입문] (3) 회원 관리 예제 - 백엔드 개발

이번 강의는 무슨 소리인지... 잘 모르겠어서 코드 분석을 좀 했다. 스프링 부트 기반 게시판 깃허브 코드를 봐야 좀 전체적인 이해가 잘 될 것 같다. [회원 리포지토리 인터페이스] package hello.hellospring.repository; import hello.hellospring.domain.Member; import java.util.List; import java.util.Optional; public interface MemberRepository { Member save(Member member); Optional findById(Long id); Optional findByName(String name); List findAll(); } --> 회원 정보를 저장하고 조회하는데 사용..

카테고리 없음 2024.01.09

[스프링 입문] (2) 스프링 웹 개발 기초

● 정적 컨텐츠 ● MVC와 템플릿 엔진 - 템플릿 엔진 : 동적으로 생성된 텍스트나 마크업을 생성하는 데 사용되는 소프트웨어나 도구이다. 템플릿이라고 불리는 기본 텍스트 파일을 가져와서 동적으로 데이터를 삽입하고 특정 형식으로 렌더링한다. 예) Thymeleaf, FreeMarker... - MVC 실행 과정 1) 사용자의 요청(request): 클라이언트가 웹 애플리케이션에 요청을 보낸다. 요청은 특정 URL에 대한 HTTP 요청으로 표현된다. 2) 컨트롤러(controller) 처리: 클라이언트 요청 처리, 적절한 로직 수행한다. 입력 해석, 해당 요청에 대한 데이터 처리 로직 수행한다. 모델과 상호작용하여 데이터 가져오거나 변경한다 3) 모델(model) 업데이트: 모델은 애플리케이션의 상태와 비..

Spring Boot 2024.01.02

Thymeleaf란?

Thymeleaf는 서버 사이트 Java 템플릿 엔진으로, 웹 및 독립형 환경에서 사용할 수 있는 자바 템플릿 엔진이다. 주로, Spring Framework와 통합하여 사용되며, HTML, XML, JavaScript, CSS 등과 같은 마크업을 템플릿으로 사용할 수 있다. 타임리프 공식 사이트 https://www.thymeleaf.org/ 보통 자바에서 웹 개발시 JSP(Java Server Page)를 이용하여 진행한다. JSP를 사용하면 형태의 스크립트릿을 사용하여 개발한다. 그러나 이 방식은 스크립트릿과 HTML이 혼재된 상태가 되고 HTML 태그의 반복적인 사용으로 인해 수정하기 어려운 상황이 된다. 이러한 상태를 해결할 수 있는 것이 템플릿 엔진이다. ####템플릿 엔진이란 HTML(Mar..

Spring Boot 2023.12.31