springboot 30

Spring Boot으로 웹 출시까지 #12. 권한에 맞는 화면 구성 및 API 호출 & 13. JPA 이용한 커스텀 쿼리 만들기

사용자 권한에 따라 API 제한 하기 @Secured, @RolesAllowed, @PreAuthorize 혹은 새로운 어노테이션을 만들어서 접근 권한을 설정 가장 간단한 @Secured를 이용 WebSecurityConfig Class에서 아래 부분에서 @Autowired를 주석처리 해주니 일단 에러가 임시방편으로 해결되었다. 근데 Signup하고 signin이 되는 과정으로 안넘어간다. 로그인이 안되는중 => 게시판도 안보임. MySQL [mydb]> select * from user; +----+----------+--------------------------------------------------------------+---------+ | id | username | password | ..

Spring/SpringBoot 2022.06.06

Spring Boot으로 웹 출시까지 #11. JPA로 조회방법(FetchType) 설정하기

서로 연관된 두 테이블간의 조회방법 설정 EAGER LAZY N + 1 문제 및 해결방법 알아보기 User Controller에서 Fetch Type을 알아보자. User Controller package com.example.myhome.model; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Data public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;..

Spring/SpringBoot 2022.06.04

Spring Boot으로 웹 출시까지 #10. JPA를 이용하여 @OneToMany 관계 설정하기

Board Class에 User 정보를 넣어주자. 게시글 입장에서 사용자는 다대일 관계 사용자 입장에서는 게시글과 일대다 관계 참고 https://zetawiki.com/wiki/MySQL_%ED%85%8C%EC%9D%B4%EB%B8%94_%EC%BB%AC%EB%9F%BC_%EC%B6%94%EA%B0%80 MySQL 테이블 컬럼 추가 - 제타위키 다음 문자열 포함... zetawiki.com board 테이블에 user_id 컬럼을 만들고 user_id 컬럼을 user의 id 컬럼을 참조하여 외래키로 만들어준다. MySQL [mydb]> ALTER TABLE board ADD user_id BIGINT(20); Query OK, 0 rows affected, 1 warning (0.028 sec) Rec..

Spring/SpringBoot 2022.06.04

Spring Boot으로 웹 출시까지 #9. Spring Security를 이용한 로그인 처리

Securing a Web application에서 Spring Security를 참고해준다. org.springframework.boot spring-boot-starter-security org.springframework.security spring-security-test test 예제 구성은 아래와 같이 나와있다. authorizeRequests formLogin logout @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { htt..

Spring/SpringBoot 2022.06.03

Spring Boot으로 웹 출시 - thymeleaf에서 form 전송

Spring Boot, thymeleaf를 이용해서 form 전송 방법 알아보기 form 유효값 체크할 수 있는 Validator 작성하기 JPA를 이용해서 DB에 데이터 추가, 수정 Bootstrap으로 form 검색하고 form.html파일을 만들어준다. form.html 게시판 제목 제목 에러 메시지 내용 제목 에러 메시지 취소 삭제 확인 list.html은 아래와 같다. 게시판 총 건수 : 검색 검색 번호 제목 작성자 Mark Otto 홍길동 Previous 1 Next 쓰기 이제 form.html과 controller을 연결시켜주자. package com.example.myhome.controller; import com.example.myhome.model.Board; import com.ex..

Spring/SpringBoot 2022.06.02

Spring Boot으로 웹 출시까지 #5. jpa를 이용해 게시판 조회하기

프로젝트 들어가기 전에 블로그들 참고하기 MariaDB 설치 및 테이블 생성 Spring Boot에서 MariaDB 데이터소스 설정 Model, Repository 클래스 생성 및 어노테이션 설정 / 게시판 데이터 조회 후 화면에 출력 mac에서 mariadb 참고 https://wonpaper.tistory.com/399 [MySQL] Mac 에서 mariaDB 설치하기 맥에서 mariaDB 를 설치해본다. 맥전용 설치 파일이 없어서, 약간 귀찮은 과정을 거쳐야한다. Homebrew 으로 mariaDB 를 실제 설치하는 방식이다. 1. X-Code 설치 - Homebrew 를 설치가능하도록 해준다. : 터미 wonpaper.tistory.com https://mariadb.com/kb/en/instal..

Spring/SpringBoot 2022.05.31

Spring Boot으로 웹 출시까지 #4. thymeleaf를 이용해 레이아웃 만들기

여기서 설정을 해주자. 일단은 대략적으로 진행은 아래와 같다. git 연동을 통한 소스 관리 Bootstrap을 이용하여 반응형 웹 페이지 구성하기 Fragment를 이용해서 공통 화면 레이아웃 구성하기 MyhomeApplication 확인하고 package com.example.myhome; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyhomeApplication { public static void main(String[] args) { SpringApplicati..

Spring/SpringBoot 2022.05.31

Spring Boot으로 웹 출시까지 #3. thymeleaf 기본 익히기

thymeleaf는 Spring Boot에서 권장하는 JSP를 대체하는 서버사이드 자바 템플릿 엔진 Spring Boot에서 JSP보다 더 간단한 설정과 HTML 표준 문법으로 thymeleaf를 이용해 HTML을 작성할 수 있다. thymeleaf는 HTML 문법을 기반으로 한다. Name Price Oranges 0.99 thymeleaf tutorial에서 Using Texts를 참고해보자. 텍스트 사용에서 참고할 내용은 간단하다. th 붙은 내용이 thymeleaf에서 구동이 된다. href="../../css/gtvg.css" th:href="@{/css/gtvg.css}" /> Welcome to our grocery store! 4. Standard Expression Syntax 서버 기동..

Spring/SpringBoot 2022.05.30

Spring Boot으로 웹출시 - thymeleaf를 이용한 화면 작성

여기서 진행한다. Serving Web Content with Spring MVC title을 참고하여 만들어 주었다. Thymeleaf Spring Web Spring Boot DevTools 세 개의 Dependencies를 ADD해주고 project를 generate 해주자. GreetingController 패키지를 만들어주고 class를 작성해준다. package com.example.mythymeleaf.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import..

Spring/SpringBoot 2022.05.30

Spring Boot으로 웹 출시까지

여기서 프로젝트를 시작해보자. 그리고 Building Restful Web Service 사이트에서 튜토리얼을 진행 해준다. Greeting Class package com.godcoder.myrest; public class Greeting { private final long id; private final String content; public Greeting(long id, String content) { this.id = id; this.content = content; } public long getId() { return id; } public String getContent() { return content; } } GreetingController Class package com.god..

Spring/SpringBoot 2022.05.30