PROGRAMMING/JAVA 16

"Cannot cast from Object to long" 오류 이해 및 해결 방법

1. 오류 메시지의 배경오류 메시지 “Cannot cast from Object to long”은 객체(Object) 타입을 자바의 원시형 long으로 직접 캐스팅(casting)하려 할 때 발생예를 들어, 다음과 같은 코드가 있을 때: Long obj = 123L;long num = (long) obj; // 오류 발생! 위 코드는 컴파일 타임에 오류가 발생왜냐하면, 변수 obj는 실제로 Long 타입의 객체인데, 이를 바로 원시형 long으로 캐스팅하려고 하기 때문 2. 문제의 원인: Primitive vs WrapperJava에서는 원시형(primitive) 데이터 타입과 객체(참조형) 데이터 타입을 구분Primitive 타입 (예: long, int, float 등):메모리 상의 값 자체를 저장..

PROGRAMMING/JAVA 2025.04.12

Spring Boot Interceptor를 특정 URL에 적용 방법

@Configuration public class WebConfig implements WebMvcConfigurer { @Autowired private MyInterceptor myInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(myInterceptor) .addPathPatterns("/specific-url/**"); } } addPathPatterns() 메서드는 인터셉터가 /specific-url/로 시작하는 URL에만 적용되도록 지정하는 데 사용 반대로, 특정 URL을 제외해야 하는 경우 유사한 방식으로 excludePathPatterns() 메서드를..

PROGRAMMING/JAVA 2023.04.03

[토비의 스프링 3.0] 1 장 오브젝트와 의존관계

1장 스프링은 오브젝트에 관심이 많다. (그 관심은 객체지향설계 - 디자인패턴) 1.1 초난감 DAO (p56) 작동만 하는 기본적인 DAO 코드를 1절에서 보여줍니다. (사용자 정보를 jdbc api 를 통해 db 에 저장하고 조회할수 있는 DAO) "p58 add/get 메소드에서 매번 커넥션하고 sql 담고, 리소스 반환하고 매번" 1.2 DAO 분리 2절에서는 기초적인 리펙토링을 하는데 공통으로 사용하는 부분을 하나의 메소드로 빼고 슈퍼클래스를 만들어 기본 로직(커넥션가져오기, sql 생성, 실행, 반환)을 만들고 그 기능의 일부를 추상 메소드나 오버라이딩 가능한(protected) 메소드등으로 만든 뒤 서브클래스에서 구현하도록 리펙토링을 보여줍니다. (p62) 먼저 관심사의 분리 중복 코드의 메..

PROGRAMMING/JAVA 2013.02.20

[Java] mockito spy void method

mockito spy void method 테스트 코드 작성중. spy 를 사용해보고 있었다. @Test public void updateFoodList() throws Exception { ManagerListBO spyBO = spy(bo); ... doReturn(intakeFoodList).when(spyBO).getFoodList(id, data); doNothing().when(spyBO).calculateFood(id, date, foodList, foodIntake); ... } 다른 사람 코드에서 테스트 코드를 만드는것이라서 원 소스는 건드리지 않고 테스트 코드에서 void method 일 경우 doNothing() 을 쓰면 되는구나.를 고생해서 알았다. ㅋ public class MyC..

PROGRAMMING/JAVA 2011.04.08
반응형