728x90
특정 타입의 빈을 동적으로 가져오는 방법class DiscountService { private final Map policyMap; private final List policies; public DiscountService(Map policyMap, List policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } /** policyMap = {rateDiscountPolicy=RateDiscountPolicy@xxxx, fixDiscoun..
롬복- 생성자, @Autowired, get / set, toString 등 코드를 최적화할 수 있는 라이브러리이다.- 자바의 애노테이션 프로세서라는 기능을 이용하여 컴파일 시점에 코드를 자동으로 생성해준다. 롬복 적용 방법1. build.gradle 에 아래의 코드를 추가한다.2. 플러그인에서 `lombok`을 설치한다.3. 설정 > preferences > annotation processors > enable annotation processing 체크한다. > 참고 - 처음에 스프링 스타터에서 프로젝트 생성할 때 dependencies 에서 lombok 을 선택할 수 있다.configurations { compileOnly { extendsFrom annotationProcess..
스프링 컨테이너 (애노테이션 기반 자바 코드 설정)// 스프링 컨테이너 생성ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); `ApplicationContext`를 스프링 컨테이너라고 한다.이때, ApplicationContext 는 인터페이스이며, AnnotationConfigApplicationContext 는 인터페이스의 구현체이다.스프링 컨테이너는 생성자가 클래스 정보를 받으면, 해당 클래스가 스프링 빈으로 자동 등록된다. 스프링 컨테이너는 두 가지 방식으로 설정할 수 있다.1. `XML 기반` (거의 사용 X)2. `애노테이션 기반의 자바 설정 클래스` (거의 대부분) 스프..
빈 출력하기모든 빈 출력하기@Test@DisplayName("모든 빈 출력하기")void findAllBean() { String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name=" + beanDefinitionName + " object=" + bean); }}스프링에 등록된 모든 빈 정보를 출력할 수 있다. 애플리케이션 빈 출력하기@Test@DisplayName("모든 빈 출력하기")void findAllBean..
[프로그래머스] (Java) 배달 - 다익스트라 알고리즘 문제 설명N개의 마을로 이뤄진 나라는 아래의 특징을 지닌다.각 마을에는 1 ~ N까지 번호가 각각 하나씩 부여되어 있다.각 마을은 양방향 도로로 연결되어 있다.도로를 지날 때 소요되는 시간은 도로별로 다르다.1번 마을에 있는 음식점에서 각 마을로 음식 배달을 하려고 할 때, N개 마을 중에서 K시간 이하로 배달이 가능한 마을의 개수를 구하려고 한다. 예를 들어, N = 5, K = 3인 경우 위와 같은 마을이 있다면,1번 마을에 있는 음식점은 [1, 2, 4, 5] 번 마을까지 3 이하의 시간에 배달할 수 있다. 그러나 3번 마을은 3시간이 초과되므로 3번 마을에서는 주문을 받지 않아, 최종적으로 주문을 받을 수 있는 마을의 개수는 4개가 된다. ..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.