-
[JAVA/SPRING] Argument resolver java config로 구현하기
Argument resolver는 컨트롤러에서 특정값을 인자값으로 받을 때 사용된다. 예를 들어 컨트롤러에 다음과 같은 메서드가 있을 때 @RequestMapping("/temp") public ResponseEntity<Object> temp(HttpServletRequest request){ } 별다른 설정이 없어도 request 에 데이터가 담겨있는걸 확인 할 수 있다. 이는 기본 HttpServletRequest가 기본 argument resolver에 포함되어있기 때문이다. 이렇게 기본적으로 제공하는 resolver 외에도 직접 만들어서 사용 할 수 있다. resolver 클래스를 만... Read More
-
[ORACLE] ORA-30004 SYS_CONNECT_BY_PATH 오류
오류 ORA-30004: when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value 원인 컬럼 값에 있는 것을 구분자로 사용할 수 없다. SYS_CONNECT_BY_PATH (ID, '+') 라고 가정 할 때 ID컬럼의 값이 구분자 + 를 포함하고 있어서 혼란이 왔기 때문이다. 예를들어 ID컬럼 값이 아이디1+ 이면 해당 오류 발생 해결 컬럼값을 조정하거나 구분자를 조정하면 간단하게 해결된다. EX) 컬럼값 조정 : SYS_CONNECT_BY_PATH (REPLACE(ID,’+’,’-‘), ‘+’) ... Read More
-
[Vue.js] git 없이 프로젝트 시작하기
vue.js 프로젝트를 생성 할 때 별다른 옵션이 없으면 자동으로 .git을 만들어주는듯하다. vue create project_name 해당 커멘드로 프로젝트를 생성하면 project_name에 .git이 생기면서 git repository로 생성된다. 기존 git repository에서 생성 시 submodule처럼 별도의 repository로 인식된다. 만약에 하나의 repository로 관리하고 싶으면 vue create project_name --no-git 해당 커멘드로 생성하면 된다. 그럼 프로젝트만 생성해주고 .git은 생성하지 않는다. Read More
-
[JAVA] 현재 Thread에 특정 클래스가 로드되었는지 확인하기
웹 어플리케이션 런타임 시 클래스가 제대로 로드되었는지 확인해보는 방법 (더 좋은 방법이 있을 수 있습니다.) 현재 스레드 가져오기 Thread currentT = Thread.currentThread() Thread의 클래스로더 가져오기 ClassLoader loader = currnetT.getContextClassLoader() 클래스로더에 로드 되었는지 확인하기 loader.getResource(확인 원하는 클래스) 원하는 클래스 입력 시 패키지(경로), .class까지 다 넣어줘야한다. 예를 들면 text.class 확인하고싶은데 text.class는 com.my 패키지에 있다. 그럴 경우 ... Read More
-
[JAVA] WorkbookFactory 기능 엑셀 업로드 xls, xlsx 지원
자바에서 엑셀을 읽는 작업을 할 때 .xls은 HSSF .xlsx는 XSSF HSSF / XSSF는 각각의 확장자에게만 적용이 되고 둘다 사용하려면 SXSSF를 사용해야 한다. 하지만 SXSSF는 의존성이 강해서 jar가 많이 필요하다기에 사용하지 않았다. 찾아보니 WorkbookFactory라고 poi에 있는 놈을 이용해서 자동으로 사용 가능하게 할 수 있다더라. (WorkbookFactory는 poi-ooxml에 존재한다) 최초 항목들 선언도 앞에 HSSF, XSSF 없이 그냥 Workbook workbook = null Sheet sheet = null Row row = null Cell ... Read More