본문 바로가기

Development/Backend44

[Spring] @RequestBody로 받아온 데이터가 null일 때 상황 API를 호출하여 컨트롤러에서 @RequestBody 어노테이션을 사용하여 데이터를 받아왔습니다. 하나의 데이터를 제외한 나머지는 정상적으로 받아오고, 특정 값만 받아오지 못하여 문제가 되었습니다. 해결책 "Spring mvc uses jackson to parse json by default. It is guessed whether the field name of the entity class is changed when the field name is converted to json." Spring은 json파싱을 위해 기본값으로 jackson 라이브러리를 사용한다고 합니다. 필드명을 아래와 같은 형태로 작성하게 되면 IDE혹은 Lombok에서 자동생성해주는 Getter/Setter의 메소드명은.. 2021. 11. 18.
[Spring] Spring Batch 최근 몇 개월간 배치 프로그램 개발을 맡아서 진행하였는데, 반복적인 업무를 자동화 할 수 있다는 점에서 굉장히 흥미로웠습니다. 아직은 경험해 본 범위 내에서만 활용할 줄 알기때문에, 다른 사람들과 기업에서는 어떻게 활용하고 있는지, 추가적인 기능은 없는지 찾아보며 Spring Batch에 관하여 정리해보려 합니다. Spring Batch란 A lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. 엔터프라이즈 시스템의 운영에 필수적인 강력한 배치 애플리케이션을 개발할 수 있도.. 2021. 11. 6.
[Java] Stream 스트림이란? - 여러 자료에 대한 처리 기능을 미리 구현해 놓은 클래스 스트림 연산 - 종류: 중간 연산 / 최종 연산 - 중간 연산: 자료를 거르거나 변경하여 또 다른 자료를 내부적으로 생성 - 최종 연산: 중간 연산에서 생성된 내부 자료를 소모하며 연산을 수행 - 따라서 최종 연산은 마지막에 한 번만 호출됨 - 최종 연산이 호출되어야만 중간 연산의 결과가 만들어짐 자주 사용되는 중간 연산(filter, map) - filter( ): 조건을 넣고 그 조건에 맞는 참인 경우만 추출하는 경우에 사용 public static void main(String[] args) { int[] array = {1,2,3,4,5}; // 3 이상의 값만 출력 Arrays.stream(array).filter(i -> .. 2021. 10. 5.
[Log4j2] Log4j2- PatternLayout 목적 - Log4j2에서의 PatternLayout의 속성에 관하여 숙지 정의 - 패턴 문자열로 구성 가능한 유연한 레이아웃. (A flexible layout configurable with pattern string.) 사용법 - 각 변환 지정자는 (%) 기호로 시작하고, 뒤에 선택적 형식 지정자와 변환 문자가 옴 (Each conversion specifier starts with a percent sign (%) and is followed by optional format modifiers and a conversion character. ) 속성(기본적으로 사용되는 속성만 기록함) - p: 로깅이벤트의 우선순위를 출력하는데 사용됨 (Used to output the priority of the.. 2021. 10. 5.
[Tomcat] 톰캣 서버 실행 시 리스너 오류 Maven Update 후 서버 구동 시 오류가 발생하였습니다. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 1. 오류 나는 프로젝트 우클릭. 2. Deployment Assembly. 3. Add. 4. Java Build Path Entries. 6. Maven dependency를 추가. Maven Update를 하니, 해당 라이브러리가 사라졌습니다. 정확한 원인은 찾지 못하였습니다. 2021. 2. 4.
[Java] 클래스 변수/인스턴스 변수 · 클래스 메소드/인스턴스 메소드 객체(Instance) 객체는 Instance를 포함하는 일반적인 의미입니다. Car 클래스에서 Car를 생성하면 Car는 Car 클래스의 객체(인스턴스). 클래스 변수/인스턴스 변수 클래스 변수(static 변수) 모든 인스턴스가 하나의 저장공간을 공유하므로 항상 같은 값을 갖습니다. 인스턴스를 통해 호출하지 않고, 변수로 접근해서 사용할 수 있습니다. 인스턴스 변수 인스턴스가 생성될때마다 생성됩니다. 각기 다른 값을 유지할 수 있습니다. class Example { static int test = 500; public static void main String(args[]) { Example ex1 = new Example(); Example ex2 = new Example(); System.out... 2021. 1. 12.
[Java] NullPointerException Case1 if(!sessionCd.equals("EX")) {...} ▼ if!("EX").equals(sessionCd)) {...} 비교할 땐 되도록 고정된 값을 앞으로. 변수값이 없을 경우 에러 발생. 2020. 9. 7.
[Spring] IoC, DI 안녕하세요, 이번 포스팅에선 스프링의 주요 개념인, IoC와 DI에 대해서 알아보도록 하겠습니다. 💡우선, DI란 무엇인지 알아보겠습니다. Dependency Injection. 해석하면 의존성 주입, 의존 주입이라는 뜻이 됩니다. 의존성을 갖는다는 것은 어떤 뜻인지 알아보도록 하겠습니다. class Command { public static void run() { System.out.println("Running"); } } class Robot { public static void basic() { System.out.println("Walking"); } } public class test { public static void main(String args[]) { Robot.basic(); } }.. 2020. 3. 24.
[Spring] 전자정부 프레임워크 공통 컴포넌트 db설정 안녕하세요, 전자정부 프레임워크의 공통 컴포넌트의 DB정보를 변경하는 방법을 알아보겠습니다. 공통 컴포넌트를 생성한 후입니다. Oracle DB 기준입니다. 아래 위치의 파일을 열어봅니다. 파일을 열면 위와 같은 형태의 내용들이 작성되어 있습니다. 수정해야 할 부분은 OsType DbType #oracle 이 세 가지입니다. 저 같은 경우는 초기에 컴포넌트 생성 시 UNIX라고 되어 있었습니다. (템플릿 프로젝트는 또 다릅니다.) DbType은 본인이 사용하시는 DB를 입력하시면 됩니다. #oracle아래의 빨간 박스 안의 내용을 환경에 맞게 수정해주시면 됩니다. 다 맞게 입력했는데 안되시는 경우는 아래 링크의 2번 내용을 확인해보시길 바랍니다. [Oracle] Issue 안녕하세요, 자주 까먹는 에러를.. 2020. 3. 24.