반응형

All 98

Spring Security Login

Spring Security를 사용하기 전에 로그인 로직을 만드려면 이래저래 고려해야하고 예외처리 해 야할 부부들에 대해서 고민해야 할 내용이 많았다. 하지만 Spring Security를 사용하여 구성하게 되면 비교적 간단히 개발이 가능하다. Security Config @Configuration @EnableWebSecurity @EnableGlobalAuthentication @ComponentScan(basePackages = {"com.example.study.*"}) public class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired AuthProvider authProvider; @Autowired AuthFailureH..

Back/Spring Java 2019.12.18

가변인자 Varargs

* 자바 1.5 이상 부터 가변 인자 메서드(Variable arity method)라고 부르는 varargs 메서드가 추가되었다. 이 메서드는 지정된 자료형의 인자를 0개 이상 받을 수 있다. 아래의 내용처럼 기존에는 다수의 매개변수를 인자로 받을때 배열 혹은 컬렉션을 사용 했다. public final class Test { public static void display(List list) { for(String s: list) { System.out.println(s); } } public static void main(String[] args) { List list = new ArrayList(); list.add("Apple"); list.add("Banana"); list.add("Orang..

Back/Spring Java 2019.12.18

Mybatis foreach에서 collection Map으로 가져오는 방법

파라미터로 넘길 collection 형태 ex) Map의 value에 또 HashMap을 선언한 경우 //Map 선언 private Map fieldData = new HashMap(); 아래의 코드처럼 foreach에서 Map형태를 매핑하려면 entrySet()를 사용. 첫 번째 foreach에서 item의 element를 두 번째 foreach의 collection으로 연결. // map.entrySet() AND INSTR(FD.${key}, ',${element[dtKey]},') > 0 AND FD.${key} = '${element[dtKey]}'

Back/Mybatis 2019.12.04

ORA-01861: literal does not match format string (리터럴이 형식 문자열과 일치하지 않음)

ORA-01861: literal does not match format string (리터럴이 형식 문자열과 일치하지 않음) 개발자 로컬 환경에서는 정상적으로 실행되는 쿼리가 운영환경에 반영을 하면 이와 같은 에러가 발생되는 케이스가 종종 있다. 원인은 TO_DATE와 TO_CHAR의 함수에 날짜형식을 지정하지 않았을 때 기본값으로 지정되는 형식이 달라서 그렇다. TO_DATE('2020-01-01', 'YYYY-MM-DD') 이런식으로 쓰는데 두번째 인수인 'YYYY-MM-DD'를 생략해버리면 환경에 따라 서로 다른값이 지정되기 때문에 위와같은 ORA-01861 오류가 생기는 것이다. 물론 최선의 해결책은 TO_DATE와 TO_CHAR를 쓸 때에는 항상 데이터형식을 맞게 사용 하는 것 이다. 하지만 ..

DB/Oracle 2019.11.27

제네릭(Generic) 문법

제네릭(Generic)은 코드블럭 내부에서 쓸 자료형을 외부에서 지정하는 기법. 여러가지 자료형을 허용하고 싶을 때 Object로 선언해버리면 깔끔하지만, 그렇게하면 원하지 않는 자료형이 입력되었을 때의 오류를 컴파일 시점에 잡아낼 수 없음. * 장점 1. 컴파일 시 강한 타입 체크 가능. - 실행시 타입 에러가 나는 것보다 컴파일 시에 미리 타입을 강하게 체크해서 에러를 사전에 방지 2. 타입 변환(castring)을 제거. - 비제네릭 코드는 불필요하게 타입 변환을 하기 때문에 프로그램 성능에 악영향을 미친다. List list = new ArrayList(); list.add("hello"); String str = (String) list.get(0); // 타입 변환이 필요 List list2 ..

Back/Spring Java 2019.11.25
반응형