
스프링 예제를 실행하려 하니 Cannot resolve symbol 'Resource' 요런 에러가 발생되었다. 확인해보니 해당 스프링 서적은 java8 기준으로 작성이 되었고, 내가 프로젝트에 적용한 자바 버전은 java11이었다. java9 버전 부터는 javax.annotaion을 제공하지 않기 때문에 java11에서 @Generated, @PostConstruct, @PreDestroy, @Resource, @Resources 어노테이션들을 사용하려면 따로 의존성을 추가해 주거나, java8로 버전을 낮춰주면 된다. 의존성 추가의 경우는 아래와 같이 추가해주면 된다. implementation group: 'javax.annotation', name: 'javax.annotation-api', v..

mulityKeyMap com.google.guava에서 제공되는 map 인터페이스로, 각 key에 해당되는 콜렉션을 보유합니다. mulityKeyMap.get() hashmap, MultiMap의 경우 get(key)로 데이터를 가지고 왔을때 매핑 되는 정보가 없다면 null을 리턴해준다. mulityKeyMap도 매핑된 데이터가 없을 경우 null을 리턴한다고 생각하고 null 체크를 하고 테스트를 돌려봤다. import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; public class Test { @Test public void multiKeyMapNullCheck_test() { Mu..
for문 조건식 내 함수 사용시 매 반복문이 돌 때 마다 해당 함수가 호출 되기 때문에 고정된 값일 경우에는 함수를 호출하기 보다는, 변수에 담아 함수의 반환 정보를 담아 해당 변수를 사용하도록 한다. # 소스 코드 import org.junit.Test; import java.util.ArrayList; import math.PalindromeNumber; import static org.assertj.core.api.Assertions.assertThat; public class MathTest { @Test public void for_test() { ArrayList list = new ArrayList() { @Override public int size() { System.out.println..
1. @webservlet import javax.servlet.annotation.WebServlet; @WebServlet("/") public class MainApi extends MainServlet { } 2. web.xml ServletTest MainServlet ServletTest / 1과 2 모두 /로 시작 하는 api요청시 MainServlet을 통해 처리됨. 1과 2 함께 등록 되면 에러 발생 -> 동일한 url-mapping을 사용할 경우 둘 중 하나만 등록해줘야함. Caused by: java.lang.IllegalArgumentException: The servlets named [ServletTest] and [MainApi] are both mapped to the url..
jdk8 기준으로 작성되었고, https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html 번역한 글입니다. Anonymous Classes (익명 클래스) 익명 클래스를 사용하면 코드를 좀더 간결하게 만들수 있다. 이 클래스를 이용하여 동시에 클래스를 선언하고 인스턴스와 할 수 있다. 이름이 없다는 것을 제외하고는 로컬 클래스와 같다. 로컬 클래스를 한 번만 사용해야 하는 경우에 사용해야한다. 이 절에서는 다음 주제를 다룬다. Declaring Anonymous Classes (익명 클래스 선언) Syntax of Anonymous Classes (익명 클래스의 구문) Accessing Local Variables of the En..
CompleCompletableFuture의 get(long timeout, TimeUnit unit) 메서드와 completeExceptionally() 메서드 Future의 실행 도중 Excpetion이 발생한다면 해당 스레드에만 영향을 미치게 된다. 즉, 예러가 발생하더라도 그 이후의 동작은 계속 진행이 되며 일의 순서가 꼬이게 된다. 클라이언트는 future.get 메서드가 반환될 때까지 영원히 기다릴수 있다. 아래의 예시와 같이 타임 아웃 값을 받는 get 메서드를 사용하면 블록 문제를 해결은 할수 있다. try { //결과가 준비되어있지 않으면 최대 1초간 블록한다. Double result = futurePrice.get(1, TimeUnit.SECONDS); } catch (Interrup..
- Total
- Today
- Yesterday
- java11
- 한글깨짐
- JAVA8
- 확인창
- spring-security
- junit5
- sgw
- 파스칼 표기법
- JUnit
- gradle
- thread priority
- Thread
- JetBrains Mono
- codepoint
- jdk13
- Mockito
- Redis
- 카멜 표기법
- IntelliJ
- spring
- aspectj
- Jenkins
- Executor
- ThreadPool
- JPA
- chmod
- hot-deploy
- java
- jdk12
- Visual Studio 2022
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |