스프링 부트 공부를 하면서 구글링도 하고, 관련 서적도 읽어보고 하면서 의문점이 몇 가지가 있었다. 오늘은 그중 하나인 properties와 yml의 차이점을 알아보려고 한다. 본 내용에 들어가기 앞서 두 코드는 동일하지만 많이 다른 형태를 띠는 것을 볼 수 있다. application.properties 프로젝트를 생성할 때 생성되는 기본적인 스프링 부트 설정 파일이며, key-value 형식으로 사용된다. 각 문단이 단일 구성되며, 계층 구조가 같은 경우 동일한 접두사를 문단 앞에 계속 적어줘야 한다. 리스트 구조를 사용하여 작성 또한 가능하다. application.yml 스프링 부트 설정 파일이며, key:value 형식으로 사용된다. properties와 다르게 각 문단마다 동일한 접두사를 붙이..
Spring Boot
졸업 작품겸 아이디어가 좋은 어플을 제작하게 되었다. 웹이 아닌 어플이라 API 걱정이 많았다. (원하는 값을 잘 전달할 수 있을까...) 그리고 리플레시 토큰에서 한번 대가리가 깨지고 다시 갈아엎고 제작하던 도중 로그인 API에서 이상한 놈을 만났다. 500번 에러.. ExceptionHandler로 다 예외처리 해놨는데 어디서 문제가 생긴걸까.. [Handler dispatch failed: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter] "javax/xml/bind/DatatypeConverter" 바로 구글링에 들어갔고 jdk11에서, jwt 관련 모듈이 참조되지 않아서 생기는 문제라고 하는데.. 주석 처리 해놓은 'javax...
스프링 부트3는 크게 3가지 계층으로 나뉜다. 프레젠테이션 계층 비지니스 계층 퍼시스턴스 계층 해당 계층들은 각각의 역할을 수행하며 스프링 부트의 구조를 이룬다. 프레젠테이션 계층 (Controller) HTTP 요청을 받고 이 요청을 비지니스 계층으로 전송하는 역할을 수행한다. 스프링에서 컨트롤러를 지정해주는 애너테이션 @Controller, @RestController가 있다. @Controller 전통적인 Spring MVC의 Controller 애너테이션이다. 주로 화면(View)를 반환하기 위해 사용한다. @Controller public class TestController { @GetMapping("/login") public String loginPage(){ return "login"; ..
스프링 시큐리티 (Spring Security) 란 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임워크 보안 관련 옵션을 많이 제공하고, 애너테이션으로 설정도 매우 쉬움 CSRF 공격, 세션 고정(session fixation)공격을 방어해 주고, 요청 헤더도 보안 처리해 줌 CSRF 공격 : 사용자의 권한을 가지고 특정 동작을 수행하도록 유도하는 공격 세션 고정 공격 : 사용자의 인증 정보를 탈취하거나 변조하는 공격 인증과 인가 인증(authentication) : 사용자의 신원을 입증하는 과정 ex) 사용자가 사이트에 로그인을 할 때 누구인지 확인하는 과정 인가(authorization) : 사이트의 특정 부분에 접근할 수 있는지에 권한을 확인하는 작업 ex) 관리..
에러 발생 2023-08-29T22:43:58.947+09:00 ERROR 17132 --- [nio-8080-exec-1] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8080-exec-1] Exception processing template "articleList" : Exception evaluating SpringEL expression: "item.id" (template: "articleList" - line 18, col 32) 에러 발생 원인 스프링 부트 공부를 막 시작한 참이라, 대충 articleList.html의 item.id에서 에러가 발생하였다 라는 정도를 인지하고 articleList.html를 열어보았다. item.id는 DTO..