728x90
출처:
https://www.youtube.com/watch?v=5zyONDFAbDQ&list=PL93mKxaRDidECgjOBjPgI3Dyo8ka6Ilqm&index=56
package com.cosblog.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import com.cosblog.service.BoardService;
@Controller
public class BoardController {
@Autowired
private BoardService boardService;
//public String index(@AuthenticationPrincipal PrincipalDetail principal)
@GetMapping({"","/"})
public String index(Model model) {
model.addAttribute("boards", boardService.글목록());
return "index"; // viewResolver 작동!
}
@GetMapping("/board/saveForm")
public String saveForm() {
return "board/saveForm";
}
}
package com.cosblog.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.cosblog.model.Board;
import com.cosblog.model.User;
import com.cosblog.repository.BoardRepository;
//스프링이 컴포넌트 스캔을 통해서 bean에 등록을 해줌
@Service
public class BoardService {
@Autowired
private BoardRepository boardRepository;
@Transactional
public void 글쓰기(Board board, User user) {
board.setCount(0);
board.setUser(user);
boardRepository.save(board);
}
public List<Board> 글목록() {
return boardRepository.findAll();
}
/*
* 이 로그인도 사용 안 할거라 삭제
*
* @Transactional(readOnly = true)//Select할 때 트랜잭션 시작, 서비스 종료시에 트랜잭션 종료(정합성)
* public User 로그인(User user) { return
* userRepository.findByUsernameAndPassword(user.getUsername(),
* user.getPassword()); }
*/
}
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="layout/header.jsp"%>
<div class="container">
<c:forEach var="board" items="${boards}">
<div class="card m-2">
<div class="card-body">
<h4 class="card-title">${board.title}</h4>
<a href="#" class="btn btn-primary">상세보기</a>
</div>
</div>
</c:forEach>
</div>
<%@ include file="layout/footer.jsp"%>
728x90
'Spring > Spring boot' 카테고리의 다른 글
스프링부트 강좌 56강(블로그 프로젝트) - 글 상세보기 (0) | 2022.01.25 |
---|---|
스프링부트 강좌 55강(블로그 프로젝트) - 글목록 페이징하기 (0) | 2022.01.25 |
스프링부트 강좌 53강(블로그 프로젝트) - 글쓰기 완료 (0) | 2022.01.24 |
스프링부트 강좌 52강(블로그 프로젝트) - 스프링 시큐리티 로그인 (0) | 2022.01.24 |
스프링부트 강좌 51강(블로그 프로젝트) - XSS와 CSRF (0) | 2022.01.24 |
댓글