목록스프링부트 (10)
Yeonee's Story

안녕하세요. #yeoneeblog 여니입니다:) logger는 기본적으로 정의한 패키지의 조상으로부터 모든 appender을 상속받습니다. 다음과 같이 두개의 logger가 같은 appender를 사용한다면 같은 메시지가 두번 찍히는 것을 확인할 수 있습니다. 2개의 logger가 같은 appender를 사용하면, 로그가(동일한 메시지가) 중복으로 출력됩니다. 이때, 둘 중 하나의 로거에 additivity=false 로 변경해주면, 중복적인 출력이 방지됩니다. 결과적으로 log4j의 additivity 속성은 상위 appender를 상속받는 것을 제어할 수 있게 해주는 옵션입니다. + 추가 사례 additivity="false" 를 true로 설정하게 되면, com.a.b.c 소스에 대한 로그가 tes..

안녕하세요. #yeoneeblog 여니입니다:) @Controller와 @RestController 차이점 Spring에서 클래스에 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다. 이번에는 이 2가지 어노테이션의 차이점에 대해 정리할 것입니다. 이 2가지의 주요 차이점은 HTTP ResponseBody가 생성되는 방식이고, @Controller + @ResponseBody 조합이 @RestController이라 말할 수 있습니다. 1. @Controller이란? 전통적인 Spring MVC의 컨트롤러 어노테이션인 @Controller는 주로 View(화면)를 반환하기 위해 사용합니다. @Controller public class TestControl..

안녕하세요. #yeoneeblog 여니입니다:) 1.Dependency 우선 SpringBoot에서 기본으로 제공되며, 기본으로 설정되어있는 slf4j log구현 클래스인 logback 라이브러리를 제외시켜주어야 합니다. 1) logback 라이브러리 제외 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-logging 저같은 경우엔, 해당 exclusions태그를 dependency 가장 상단에 spring-boot-starter-web아래에 붙여 주었습니다. 1-1) 변경전 spring-boot-starter-logging 존재 확인 1-2) 변경후 spring-boot-starter..
안녕하세요. #yeoneeblog 여니입니다:) 23.10.18 (수) - eclipse intellij 에서 git 에 저장된 프로젝트 파일 불러오기 - eclipse intellij 에서 mariadb사용하여 프로젝트 테이블 생성하기 - eclipse intellij 로 member테이블에 데이터 삽입하여 test하며 오류 수정 및 보완하기 - eclipse intellij 에서 Final_Project 오류제거 및 코드 정석대로 수정하기 - log4j2 dependency 및 exclusion, log4j2.xml 생성하여 log 찍기 https://velog.io/@pensieve92/SpringBoot-%EB%A1%9C%EA%B7%B8%EC%84%A4%EC%A0%95-1-1.-Log4j2-%EC..
안녕하세요. https://blog.naver.com/sysysy0302 여니입니다 :) 오늘은 제가 파이널 프로젝트를 통해 구현하였던 관리자 페이지의 전체 회원리스트 및 특정 회원리스트를 화면에 뿌려주는 코드를 분석해보고자 합니다. /* 어드민 기능 */ @GetMapping("/adminMain") public String adminMain(@RequestParam(value = "currentPage", defaultValue = "1") int currentPage, Model model, @RequestParam Map paramMap) { int offset = (currentPage - 1) * 5; int limit = 5; log.info("paramMap ={}", paramMap); ..