본문 바로가기
반응형

오류8

[JUnit] 오류 해결: java.lang.IllegalStateException: Failed to load ApplicationContext java.lang.IllegalStateException: Failed to load ApplicationContext JUnit으로 스프링 프로젝트를 테스트 하던 중 위와 같은 오류가 발생했다. 이러한 경우 테스트 클래스에 @WebAppConfiguration 어노테이션을 붙이면 해결할 수 있다. @WebAppConfiguration은 클래스 레벨 어노테이션이며, 스프링 프레임워크에서 웹 버전의 애플리케이션 컨텍스트(빈의 생성과 관계설정 등 제어를 담당하는IoC 컨테이너)를 생성할 때 사용한다. 출처 https://www.baeldung.com/spring-webappconfiguration 2021. 8. 10.
[Spring] The dependencies of some of the beans in the application context form a cycle 양방향 의존관계 오류 The dependencies of some of the beans in the application context form a cycle 양방향 의존관계 오류 스프링 프레임워크에서는 @Autowire 어노테이션을 이용해서 의존성 주입을 한다. 그런데 서로 다른 두 개의 클래스에서 서로를 의존성 주입하면 위와 같이 양방향 의존관계 오류가 발생한다. 위 이미지에서는 userService, reservationService 클래스가 서로를 의존성 주입하고 있어 오류가 발생했다. 이는 A를 변경하면 B가 영향을 받고, B를 변경하면 A가 영향을 받으므로 나쁜 설계라고 할 수 있다. 이를 해결하기 위해 A>B, B>A 의존 관계가 있다면 새로운 C를 만들어서 A>B>C로 의존관계를 갖도록 변경하여 문제를 해결 .. 2021. 8. 9.
[JPA] 오류 해결: “Data too long for column” Spring Data JPA를 통해 아래와 같은 엔티티로 MySQL 데이터베이스에 테이블을 생성한다고 가정하자. @Entity public class SurveyAnswer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; Long userId; LoveType loveType; String answers; } 코드의 answers 변수처럼 String 타입을 설정하면, 기본적으로 255바이트의 varchar 타입 컬럼이 된다. 하지만 기본으로 설정된 255바이트의 길이가 넘는 문자열을 입력하면 다음과 같은 오류가 발생한다. “Data too long for column” 오류를 해결하려면, 컬럼의 길이를 늘려주면된다. 생성된 컬럼(a.. 2021. 5. 29.
[JPA] 오류해결: Field 'id' doesn't have a default value 아래 코드와 같이 작성된 엔티티를 통해 데이터베이스에 값을 입력하려 했지만, 다음과 같은 오류가 발생했다. Field 'id' doesn't have a default value 문제는 데이터베이스의 해당 테이블 Id 컬럼에 Auto Increment 설정이 적용되지 않아서 발생한 것이었다. 자동 생성을 원하는 컬럼에 Auto Increment 설정을 적용하면 문제는 해결된다. 2021. 5. 27.
[AWS] RDS_MySQL 오류 해결: Could not send query: query size is >= to max_allowed_packet 문제 일반적인 쿼리보다 좀 더 많은 요청을 하는 복잡한 쿼리를 데이터베이스에 요청할 일이 있었다. 그런데 다음과 같은 오류가 발생했다. Could not send query: query size is >= to max_allowed_packet 데이터베이스에는 허용 가능한 패킷의 크기가 정해져있다. 너무 큰 요청을 받으면, 하나의 요청을 처리하는 데 너무 많은 시간이 걸려 다른 요청들을 처리하는 데 문제가 발생하기 떄문에 이러한 기능이 필요할 것이다. 해결 MySQL에는 이러한 설정으로 max_allowed_packet이 있다. MySQL에 이 설정을 직접 조정하는 쿼리를 보내는 방법도 있지만, RDS는 간단하게 파라미터 그룹을 변경하는 방식으로 문제를 해결할 수 있다. RDS - 파라미터 그룹으로 이동.. 2021. 4. 19.
[iOS] 오류 해결: whose view is not in the window hierarchy! Xcode에서 다음과 같은 오류와 함께 ViewController가 present 되지 않았다. 문제는 테스트를 위해 viewDidLoad() 메소드 내부에서 모달뷰를 띄우려고 한 것 때문이었다. viewDidLoad에서는 아직 ViewController가 완성되지 않은 상태다. 때문에 ViewController가 완성되는 시점 즉, viewDidAppear()가 호출된 후 모달뷰를 띄우면 오류는 해결된다. 2021. 3. 2.
반응형