mjeongriver
@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
TIL/Spring 2024. 1. 23. 10:53

@SpringBootApplication 어노테이션의 exclude 속성은 특정 자동 설정 클래스를 제외하고 Spring Boot 애플리케이션을 구성할 때 사용됩니다. 일반적으로 이 속성은 특정 자동 설정을 비활성화하려는 경우에 사용됩니다. SecurityAutoConfiguration 클래스는 Spring Security의 자동 구성을 활성화하는데 사용되는 자동 설정 중 하나입니다. 그런데, 때때로 Spring Security를 사용하지 않거나 커스터마이징해야 하는 경우가 있습니다. 이때 exclude 속성을 사용하여 SecurityAutoConfiguration을 비활성화할 수 있습니다. 즉, @SpringBootApplication(exclude = SecurityAutoConfiguration.c..

Principal 객체
TIL/Spring 2024. 1. 23. 10:36

* Principal 객체란? - 스프링 시큐리티에서 사용자의 인증 정보를 담고있는 객체로 스프링 시큐리티는 사용자가 인증되면 Principal 객체를 생성하고 이를 컨트롤러 메서드에 주입합니다. 주로 사용자의 식별 정보를 담고 있으며, 주로 사용자의 식별자 (예: 사용자 아이디)를 얻을 때 사용됩니다. principal.getName()을 호출하면 현재 로그인한 사용자의 사용자명(ID)를 알 수 있습니다. JWT (JSON Web Token)을 사용하는 경우, JWT 토큰에는 사용자의 정보가 포함되어 있고, 스프링 시큐리티는 이 정보를 이용하여 Principal 객체를 생성합니다. 주로 JWT 토큰의 클레임(claims)에서 사용자 아이디를 추출하여 Principal 객체에 담습니다. 이렇게 생성된 P..

consumes와 produces의 차이
TIL/Spring 2024. 1. 22. 16:40

컨트롤러 result 보낼 때 한글 깨짐 현상 때문에 찾아보게 되었다. consumes: 클라이언트가 서버에게 보내는 데이터 타입을 명시 / 클라이언트에서 들어오는 HTTP Header의 형식을 지정하는 파라미터 produces: 서버가 클라이언트에게 반환하는 데이터 타입을 명시 / 클라이언트에서 반환하는 HTTP Header의 형식을 지정하는 파라미터 consumes을 json 타입으로 지정했는데 클라이언트 요청 header 형식이 json 형식이 아닐 경우 org.springframework.web.HttpMediaTypeNotSupportedException 예외가 발생하게 된다. produces의 경우 지정한 타입이 있다면 해당 타입으로 클라이언트에게 반환하고 produces를 사용하지 않았다면 ..

빌드 관리 도구(maven, gradle의 차이)
TIL/Spring 2023. 8. 18. 13:26

빌드 관리 도구에서 maven, gradle의 차이점이 궁금해서 찾아보게 되었다. 1) Maven vs Gradle Maven 같은 경우는 스프링 프로젝트에서 pom.xml이란 이름으로 쓰고, Gradle은 스프링부트, 안드로이드에서 쓰는 걸로 알고 있다. 처음에 단순히 알기 전엔 Maven 같은 도구는 그저 라이브러리를 쉽게 Maven Repository에서 받아오기 위해 사용하는 건줄 알았지만 아니었다. 물론 쉽게 받아올 수 있지만 그 외에도 다른 기능이 많았다. 2) Maven이란? 프로젝트를 진행하게 되면 단순히 자신이 작성한 코드만으로 개발하는 것이 아니라 많은 라이브러리들을 활용해서 개발을 하게 된다. 이 때 사용되는 라이브러리들의 수가 수십개가 훌쩍 넘어버리는 일이 발생해 이 많은 라이브러리..

article thumbnail
day81-spring
TIL/Spring 2023. 2. 9. 17:34

1. 게시판 구현 이어서 1) 페이징 Criteria 클래스: 페이징을 처리하는 기준 * Criteria package com.coding404.myweb.util; import lombok.Data; //data 달면 getter, setter 자동 생성, 생성자만 필요에 따라 다시 만들었음 @Data //sql문에 페이지 번호, 데이터 갯수를 전달해줄 클래스 public class Criteria { private int page; //페이지 번호 private int amount; //데이터 갯수 //롬복 쓰면 생성자에 정의해줄 수가 없으니까 여기는 그냥 씀 public Criteria() { this.page = 1; this.amount = 10; } public Criteria(int page..

article thumbnail
day80-spring
TIL/Spring 2023. 2. 8. 18:21

1. 게시판 구현 이어서 1) notice_write에서 글 쓰고 notice_list로 쓴 글 보여주기 2) notice_list에서 글 선택하면 선택한 글 보여주기, 수정하기(수정하고 글을 보여주거나, list로 넘어가게 redirect), 삭제하기 기능 추가 3) 상세 글 화면에서 이전글, 다음글 보는 기능 4) 페이징 처리 - pageTest(TripVO가 안 읽힐 때 tripVO에서 import lombok.AllArgsConstructor; 꼭 선언해줄 것!) package com.coding404.myweb; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annota..

article thumbnail
day79-spring
TIL/Spring 2023. 2. 7. 18:58

1. 게시판 구현 1) index 파일 띄우는 방법 - 절대 경로로 바꿔 주거나, servlet-context에 맵핑해줄 것! 더보기 - 절대 경로 - 맵핑(절대 경로가 아니어도 화면이 나타남) - run on server 할 때 서버는 1서버당 1개만 넣습니다. 2) 타일즈 뷰 템플릿 사용해보기 - 타일즈란? - JSP 는 만약 50 개의 페이지에 상단 메뉴가 include 되어있는데 , 페이지명이 바뀌면 50 개 파일을 전부 수정해주어야 하는 것이다 - 타일즈는 웹 페이지의 상단이나 하단 메뉴와 같이 반복적으로 사용되는 부분들에 대한 코드를 분리해서 한 곳에서 관리를 가능하게 해주는 프레임워크이다 - pom.xml에 추가해줄 것 org.apache.tiles tiles-extras 3.0.8 org...

article thumbnail
day78-spring
TIL/Spring 2023. 2. 6. 14:06

1.MyBatis Mapper XML의 주요 속성(중요) - select 속성 1) select: parameterType은 sql 구문이 데이터를 전달 받는 파라미터 타입, 생략이 가능 2) resultType: 결과 반환 타입(패키지 경로 포함, 전체 클래스명) 2) resultMap: join할 때 사용 - insert, update, delete 속성 = 반환이 없음, parameterType 생략 가능 - 마이바티스의 두개 이상 데이터 맵핑 처리(암기) 1) 단일값이면 언제든지 전달할 수 있다. 2) VO를 통해서 한번에 전달 할 수 있다. (매개변수에 VO가 들어갈 때!) 3) map을 통해서도 전달 할 수 있다. (맵을 선언하고 key=값) 부득이한 경우를 제외하고는 사용 빈도가 적다. (지..

검색 태그