일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- c#
- Spring
- 자바
- Spring Boot
- 마이바티스
- VOA
- springboot
- 리팩토링
- design pattern
- AWS
- 쿠버네티스
- git
- Winform
- Python
- 코틀린
- 스프링
- 스프링부트
- machine-learning
- mybatis
- 파이썬
- react
- github
- 리액트
- MySQL
- DataGridView
- kubernetes
- Kotlin
- Java
- 도커
- docker
- Today
- Total
목록스프링부트 (6)
보뇨 다이어리
레거시 코드를 개선하다가 로컬에서는 문제가 없고 정작 배포를 하면 제목과 같은 에러가 발생했는데 정확히는 아래 내용도 포함하여 에러를 던졌다. java.lang.IllegalStateException: Failed to introspect Class from ClassLoader 원인은 스프링부트 2.4.0 이상부터는 configurationprocessor 쪽 패키지를 컴파일레벨에서만 처리하도록하고 제거된것이 특징이다. 그렇기때문에 2.4.0 미만 버전에서만 동작하던것들이 안되는것임을 알았다. https://github.com/spring-projects/spring-boot/issues/24244 2.4 Release Notes does not indicate that known annotation ..
예전에 회사 작업하다가 공통으로 다루고있던 objectMapper, restTemplate 등이 있었는데 유틸클래스를 사용하기위해서 주입시켜야할때가 있었다 그땐 그냥 클래스쪽에 new 로 생성하고나서 안봤는데..사실 그 방법이 비용적인 측면에서 안좋다고했지만 기능상 문제가 없었기때문에..신경을 안쓴것도 있다 무튼 인터넷에 검색해보니 방법이 딱 2개 나오는데 매우 단순해서 그김에 포스팅할겸 올린다 원래 final 로 선언하고싶은데 그 방법이 통하지않는다..ㅠ 생성자 주입 @Component public class Boo { private static Foo foo; @Autowired public Boo(Foo foo) { Boo.foo = foo; } public static void randomMeth..
일단 테스트코드부터 막 짜본거라 돌아가는것만 확인해보자 @SpringBootTest @RunWith(SpringRunner.class) public class DivisionServiceTest { private final String URL = "http://127.0.0.1:8080/api/students/53"; @Autowired private RestTemplate restTemplate; @Test public void test() { ResponseEntity response = restTemplate.getForEntity(URL, Student.class); assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); assertThat..
spring boot 에서 test 코드 작성하다가 에러 발생함 에러내용은 다음과 같다 URI is not absolute java.lang.IllegalArgumentException : URI is not absolute말그대로 절대경로로 되어있지 않기때문에 에러가 난건데 URI 부분은 다음과 같이 있었다 api/students 그래서 아차차차 싶어서 이렇게 고치니 잘되었다 솔직히 글만 읽으면.. private final String URI = "127.0.0.1:8080/api/students";
다른 사람들은 모두 메이븐으로 빌드해버려서 간단한건데도 인터넷 찾느랴 시간버림...ㅠ 맨처음 제외시키지않고 컴파일하면 이런 에러가 발생한다 뭐 첫문장부터 보면 왜 뻑나는지 알수있져 바로 기존 spring boot 에 logging 과 겹치기때문에 에러를 툭 하니 뱉는건데...나도 다 아는데 어떻게 exclude 시키는지몰라서 고생했단말이유... SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/C:/Users/ee/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.11.2/4d44e4edc4a7fb39f09b9..
현재 api 재개발하면서 불필요하게 중복된 코드가 들어가는부분이 바로 모든 Controller 클래스 상단에 있는 @RequestMapping("/api") 이 부분이다 예전부터 꼴도보기 싫어서 일괄처리할수있는 방법을 찾아보았다 아래와 같이 resource 폴더내에 application.yml 에 넣어주면 된다 server: servlet: context-path: /api 참고로 스프링부트 2.1.5 버전을 사용중입니다!! 참고 https://stackoverflow.com/questions/32927937/how-to-set-base-url-for-rest-in-spring-boot