본문 바로가기

SPRING8

[SPRING] 스케줄러 (@Scheduled) 설정 탈퇴한 회원의 정보는 1년만 가지고 있다가 파기하는 방식을 구현하기 위해 스프링 스케줄러를 사용하려한다. 1. XML 설정 (dispatcher-servlet.xml) dispatcher-servlet에 추가해야하는 건 아래와 같다. 2. 스케줄러 구현 5초마다 실행되게 테스트 @Component public class ScheduledTest { @Scheduled(fixedRate = 5000)// 5초마다 동작 public void test(){ Date today = new Date(); Locale currentLocale = new Locale("KOREAN", "KOREA"); String pattern = "HHmmss"; SimpleDateFormat formatter = new Simp.. 2023. 6. 1.
[JAVA/SPRING] javax.imageio.IIOException: Unsupported Image Type (CMYK 이미지 오류) 파일 업로드 중 오류가 발생한다는 사항이 발생해 확인해보았다. 아래와 같은 에러가 발생하였고, 찾아보니 이미지 파일 업로드 시 썸네일을 생성하는데 썸네일 생성 시 ImageIO.read()로 CMYK 타입 이미지를 읽어서 오류가 난 것으로 확인되었다. 이미지에는 RGB와 CMYK 타입의 이미지가 있는데 CMYK 타입 이미지를 읽을 경우 아래와 같은 에러가 발생한다. 1. 에러 코드 javax.imageio.IIOException: Unsupported Image Type at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1087) at com.sun.imageio.plugins.jpeg.JPEGImageRea.. 2023. 5. 30.
[SPRING] 엑셀 양식에 데이터 삽입 후 다운로드 (Apache POI) 정해진 엑셀 양식에 데이터를 넣어 다운받게 해달라는 요청이 생겨 엑셀에 데이터를 넣어 다운받을 수 있는 방법을 작성해보고자 한다! 1. 엑셀 양식 샘플로 데이터를 삽입하기 위해 만든 엑셀 양식 2. webapp 에 엑셀 양식 추가 테스트를 위해 wabapp/file/test_poi.xlsx 로 추가! 3. 데이터 삽입 코드 데이터 삽입할때 getRow와 getCell 위치를 정확히 확인해야한다. getRow는 엑셀 왼쪽의 숫자, 행 (1,2,3,4..)으로 0번 부터 시작한다. : 1 2 3 4 .. 는 0 1 2 3 .. getCell은 엑셀 위의 알파벳, 열(A,B,C,D..)로 똑같이 0번 부터 시작한다. : A B C D .. 는 0 1 2 3 .. 순서 4. 컨트롤러 import java.io... 2023. 1. 30.
[SPRING] Interceptor 개념 및 사용법 1. 인터셉터(Interceptor) 란 '가로채다' 라는 의미가 있다. 위의 의미와 같이 Client에서 Server로 보낸 Request를 Controller에 도달하기 전 가로채도록 하는 역할을 한다. Interceptor의 장점으로는 코드 누락에 대한 위험 감수 코드 재사용성을 증가 시켜 메모리 낭비, 서버 부하 감소 가 있다. 2. Interceptor 메서드 Interceptor는 스프링에서 제공해주는 HandlerInterceptor을 상속받아 사용가능하다. HandlerInterceptor에는 3가지 메서드가 있다. preHandle() Controller가 호출되기전에 실행된다. Controller 실행 전 처리할 작업이나 정보를 가공, 추가하는 경우 사용된다. return 값이 true.. 2022. 8. 16.
[SPRING] @Component 어노테이션 간단 사용법 @Component 어노테이션을 사용해 Bean Configuration 에 Bean을 등록하지 않아도 직접 작성한 Class를 Bean으로 등록할 수 있다. @Component 어노테이션이 부여된 Class들은 자동으로 IOC Container에 Bean으로 등록이 되는데 IOC Container 에게 이러한 어노테이션이 부여된 Class를 자동으로 Bean으로 등록하라고 하기 위해서 XML파일에 따로 설정이 필요하다. - XML 파일에 @Component 설정 XML 파일에 를 추가하면 설정이 완료된다. base-package에는 스캔할 패키지를 설정한다. - @Component 자동 주입 @Component로 등록한 Bean의 자동 주입 방법은 @Bean으로 등록한 빈의 자동 주입 방법과 동일하며 .. 2022. 5. 11.
반응형