에러(3)
-
@Controller에서 java Stream을 사용 후 서버 실행 시 BeanDefinitionStroeException, ArrayIndexOutOfException
현상Spring Controller에서 stream을 사용 후 컴파일은 문제없이 되었고서버실행시 BeanDefinitionStroeException, ArrayIndexOutOfException 가 발생하면서서버가 안 켜지던 상황이었습니다. 참고로 Java 11, Dynamic Web Module의 경우도 3.1, Tomcat 9버전. java 1.8 이후의 문법을 사용 못할리가 없다고 생각했었습니다. 실제로 DTO에서는 LocalDate 등의 1.8이후 버전을 사용했는데 stream만 사용 못하는 상황이 왜 발생했을까 싶었습니다. 원인Spring 버전이 2.5였는데, 이는 Java 1.5버전까지 호환됩니다. 근데 LocalDate(java 1.8) 등을 사용했을 때는 문제가 없었는데 왜 그럴..
2025.06.26 -
mybatis의 쿼리 로그와 바인딩 쿼리의 차이로 인한 에러.
현상mybatis 로그에서 찍힌 쿼리는 다음과 같았다.SELECT * FROM my_table WHERE ( REGEXP LIKE user_id, '사원찾기파라미터-이름orID 값', 'i' OR user_id IN (SELECT user_id FROM user_table WHERE user_nm LIKE '%'||'사원찾기파라미터-이름orID 값' ||'%' )-- 검색타입이 id, 이름이 분리되어있지 않고 id or 이름으로 검색하는 상황 이 쿼리를 sqlDeveloper를 이용해 오라클에서 직접 쿼리를 실행했을 때는 원하는 데이터가 잘 나왔지만 , DTO에는 값이 세팅되지 않았다. 여러가지 확인해봤지만 mapper ,DTO 등의 문제는 아니었고, 쿼리 자체의 문제였다. 해결사실 id 검색, ..
2025.06.26 -
제네릭 타입 결정 시점
현상제네릭 관련해서 값이 기대한대로 나오지 않는 문제가 있었다.new Data("AAA").print();public class Data { T value; public Data(T t) { value = t; } public void print() { new Printer().print(value); }}public class Printer { void print(Object a) { System.out.println("object : " + a); } void print(String a) { System.out.println("String : " + a); }} 제네릭 T 가 String이기 때문에 ..
2025.06.26