728x90
반응형

IT/자바, 스프링 46

잘 되던 import가 갑자기 안될때 (cannot resolve symbol 'runwith')

코드나 설정이 아닌 intellij ide의 문제로 종종 발생한다는 오류... project clean 하라, invalid cache / restart하라, 그래들 리프레시하라 등등 나오는 해결책들을 모두 해봤지만 안됨 내경우는 멀쩡하게 잘 되던 테스트클래스에서 import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; 등 junit 라이브러리가 모조리 먹통됨 결국 그래들에 수동으로 박아서 해결 build.gradle dependencies { ... testImplementation 'junit:junit:4.12' ... } 그래들은 여기 참조 https://mvnrepos..

Postman에서 form-data로 보냈을 때 Unsupported Media Type 에러

@PostMapping public Header create(@RequestBody User requestUser){ User user = userService.create(requestUser); ... } 컨트롤러를 이렇게 해놓고 포스트맨을 날렸는데 Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=--------------------------267881025418540389377987;charset=UTF-8' not supported] 이렇게 지원되지 않는 미디어 타입이라고만 한다....... 구글링 해서 @PostMapping(consumes ..

스프링 db연결 설정 (application.properties 파일)

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver// 마리아db 드라이버 spring.datasource.url=jdbc:mariadb://localhost:3306/testdb// db주소 spring.datasource.username=root// 유저네임 spring.datasource.password=pw// 패스워드 spring.jpa.hibernate.ddl-auto=update// ddl 설정* spring.jpa.show-sql=true// 로그에 sql 보여주기 spring.jpa.properties.hibernate.format_sql=true// sql 보여줄 때 포맷 예쁘게 spring.jpa.hibernate.ddl-auto..

Controller Advice로 Exception 처리하기

500 Server Error를 400 Bad Request로 바꾸고 에러 원인을 명시해주고자 함 @ExceptionHandler, @ResponseStatus 그리고 @RestControllerAdvice를 이용한다 클래스 @RestControllerAdvice 어노테이션을 달아줌 이때 assignableType은 어드바이스를 적용할 클래스 이름 지정 @Slf4j @RestControllerAdvice(assignableTypes = ActionController.class) public class ActionControllerAdvice { ... } 메서드 @ExceptionHandler 어노테이션 달고, 처리할 익셉션 종류 써줌 커스텀 익셉션 써도 되고 자바 기본 익셉션 써도 됨 @Exceptio..

JUnit으로 테스트코드 실행했는데 no tests 에러 뜰때 (No tests found for given includes)

문제 @RunWith(SpringRunner.class) @SpringBootTest public class UserApiDocumentation { ... @Test public void testRead() throws Exception { this.mockMvc.perform(get("/api/user/{id}", 1)) .... } } 이렇게 테스트 코드를 짜고 실행했는데 테스트를 찾을 수 없다고 나온다.... 해결 (인텔리제이 커뮤니티버전 기준) 좌측상단 File 메뉴 > settngs > Build, Execution, Deployment > Gradle 여기에서 Run test using을 Gradle에서 IntelliJ IDEA로 변경 failed 떴지만 어쨌든 테스트는 돌아갔다! 참고 ht..

jpa 어노테이션

Entity 클래스 @Entity - 이 클래스가 엔티티를 위한 클래스임을 알림 - 해당 클래스의 인스턴스들이 jpa로 관리되는 엔티티 객체라는 의미 @Table - @Entity 어노테이션과 같이 사용 - db상에 엔티티 클래스를 어떤 테이블로 생성할 것인지에 대한 정보 - 예컨대 @Table(name="abc") --> 이렇게 하면 abc라는 이름의 테이블로 생성됨 Repository 클래스 @Id - pk 필드 @GeneratedValue - pk 값을 자동으로 생성 (auto increment) - 생성 전략 : auto, identity, sequence, table @Column - id 외 추가적인 컬럼이 필요할 때 - 다양한 속성 지정 (nullable, name, lenght 등) Bui..

300x250
반응형