Spring17 [Spring] Spring Boot Logging 설정 처음 프로젝트를 시작하면서 프레임워크를 구성할 때..가장 먼저 해야하는 설정, 로깅 설정!스프링 부트에선 기본적으로 Logback이 설정되어 있다. 다음과 같이 spring-boot-starter-logging 라이브러리에 기본적으로 설치되어 있어서 SLF4J의 3가지 모듈이 Logback과 연결된다.SLF4J(Simple Logging Facade for Java)는 이름에서 확인할 수 있듯이. java.util.logging, logback 및 log4j와 같은 다양한 로깅 프레임 워크에 대한 추상화(인터페이스) 역할을 하는 라이브러리이다.SLF4J는 추상 로깅 프레임워크이기 때문에 단독으로는 사용하지 못함. 즉, 최종 사용자가 배포시 원하는 로깅 프레임워크를 결정하고 사용해도 SLF4J가 인터페이스.. 2024. 11. 19. Spring Core 라이브러리와 프레임워크의 차이프레임워크: 라이브러리들의 조합공통점: 특정 문제를 일반적인 방법으로 해결하기 위한 코드를 제공한다차이점:프레임워크는 주도권을 프레임워크 자신이 가진채로 동작을 하고, 라이브러리는 주도권이 나에게 있다.프레임워크는 원하는 기능을 구현하기 위하여 일정한 형태(골격)을 제공한다.라이브러리는 함수의 집합왜 프레임워크를 써야 할까?기능적 요구 사항과 비 기능적 요구사항이 뭘까?이번주 내내 해야할 이야기소프트웨어는 항상 이 두가지로 나뉜다.이 애플리케이션이 http를 사용해서 일련의 과정을 통해 구현하는 것이 기능적 요구사항(구현에 가까움), 사용자 입장에서 고려하지 않아도 되는 부분 (오라클을 쓰던 mysql을 쓰던)비 기능적 요구사항은 사용자 입장에서 하는 요구사항 (결제 성공하면.. 2024. 11. 18. Spring Batch : spring batch는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공한다.pulgin - spring batch installpom.xml 의존성 추가 org.springframework.boot spring-boot-starter-batch@EnableBatchProcessing@EnableBatchProcessing를 선언을 하면 스프링 배치를 작동시켜줍니다.스프링 배치의 모든 초기화 및 실행을 이루고 총 4개의 설정 클래스를 실행합니다.스프링 부트 배치의 자동 설정 클래스가 실행됨으로 빈으로 등록된 Job을 조회해서 초기화와 동시에 Job를 수행하도록 구성되어있습니다.sp.. 2024. 11. 17. [Spring] POI HSSFWorkbook 텍스트 서식 변경하기 결론HSSFRichTextString 으로 텍스트를 넣어주고applyFont로 만든 폰트를 지정셀에 스트링을 지정if(col == 0 && (deposit.isEmpty() || !deposit.equals(laborDTO.getKorName()))) { CellStyle newStyle = hssfCell.getCellStyle(); newStyle.cloneStyleFrom(hssfCell.getCellStyle()); Font font = hssfWorkbook.createFont(); font.setColor((short) 2); hssfCell.setCellStyle(newStyle); HSSFRichTextString richTextStri.. 2024. 11. 13. [Spring] POI 라이브러리 엑셀 인쇄 페이지 설정 오늘은 엑셀 다운로드 기능을 구현하면서 마주했던 엑셀 페이지 설정에 대한 기록을 남기려고 한다.왜냐면.. 오늘 드디어 이해된 대로 코드를 짰기 때문.. 첫 시도처음 인쇄 페이지를 설정할 때는 깊이 생각을 하지 않았다. 그냥 .. 열이 안 짤리게 설정하면 되는 거 아닌가?하지만 이와 같은 코드는 행의 개수가 늘어나면 제 기능을 못하게 된다. A1:AE26 까지 인쇄 페이지를 설정할 수 있어도 열이 100줄, 1000줄을 넘어간다면 무용지물이 될 거다.. 내가 짰던 가냘픈 코드는 당연히 원하는 결과를 주지 못했고 뒤늦게 이 사실을 알게됐다.. ^^ 요구사항엑셀 시트가 마지막 열에 맞추어 적절히 출력되는 것.. 문제점1. 엑셀 서식마다 출력되는 열의 개수가 유동적이다. (즉, 인쇄하고자 하는 열의 개수.. 2024. 11. 8. [Spring] 사용 중인 포트 죽이기 서버를 시작할 때 해당 포트번호의 서버가 이미 실행중인 오류가 뜨는 경우 먼저 cmd를 관리자 권한으로 실행하자. 명령창에 netstat -a -o 를 입력하면 현재 실행되고 있는 포트의 PID를 알 수 있다. 찾고자 하는 포트번호가 나오면 ctrl + c 를 눌러서 강제종료할 수 있다. 프로세스를 찾았으면 해당 PID로 kill 시켜준다. taskkill /f /pid (PID) 이후 다시 서버를 실행하면 정상 실행된다. 2024. 9. 11. [Spring] Cannot invoke "org.apache.poi.xssf.streaming.SXSSFRow.getCell(int)" because the return value of "org.apache.poi.xssf.streaming.SXSSFSheet.getRow(int)" is null java.lang.NullPointerException: Cannot invoke "org.apache.poi.xssf.streaming.SXSSFRow.getCell(int)" because the return value of "org.apache.poi.xssf.streaming.SXSSFSheet.getRow(int)" is null SXSSFSheet를 사용하여 엑셀 다운로드 기능을 구현했고 테스트 하는 도중 마주한 에러.다른 기능을 확인하려고 테스트중이었는데 NullPointerException이라니.. 에러가 난 쪽 코드를 봐도 "이게 왜???"라는 생각밖에 안 들었다. 형식에 맞게 엑셀 파일을 그려주고 마무리로 테두리를 진하게 색칠해주는 부분이 있었는데 그 코드에서 에러가 났다. 결론은... 2024. 9. 10. [Spring] Spring Filter & Intercepter 보호되어 있는 글 입니다. 2024. 8. 25. [Spring] AOP(Aspect Oriented Programming) AOP란?- Aspect Oriented Programming은 프로그램 구조를 다른 방식으로 생각하게 함으로써 OOP를 보완한다.- OOP에서 모듈화의 핵심단위는 클래스이지만 AOP에서 모듈화의 핵심단위는 관점(Aspect)이다. - 관점은 다양한 타입과 객체에 걸친 트랜잭션 관리같은 관심을 모듈화할 수 있게 한다. 각각에 적용되는 횡단 관심사를 주요 관심사와 분리해서 관점별로 모듈화하는 것이다. 개념은 간단하지만 관련 용어나 적용하는 방식이 이해할게 많은 것 같다. 먼저 주요 용어들을 살펴보자1) Aspect- 여러 클래스에 걸친 횡단 관심사의 모듈을 말한다. 즉 클래스.- 하나 이상의 Pointcut과 Advice의 조합으로 만들어지는 AOP의 기본 모듈이다. - Spring framework에서는.. 2024. 7. 5. 이전 1 2 다음