스프링 컨테이너와 스프링 빈(추가)
·
BackEnd/스프링 핵심 원리 - 기본편
BeanFactory와 ApplicationContext BeanFactory 스프링 컨테이너의 최상위 인터페이스이다. 스프링 빈을 관리하고 조회하는 역할을 담당한다. getBean()을 제공한다. 지금까지 우리가 사용했던 대부분의 기능은 BeanFactory가 제공하는 기능이다. ApplicationContext BeanFactory 기능을 모두 상속받아서 제공한다. 애플리케이션을 개발할 때는 빈을 관리하고 조회하는 기능은 물론이고, 수 많은 부가기능이 필요하다. 메시지소스를 활용한 국제화 기능 : 한국에서 들어오면 한국어로, 영어권에서 들어오면 영어로 출력한다. 환경 변수 : 로컬, 개발, 운영등을 구분해서 처리한다. 애플리케이션 이벤트 : 이벤트를 발행하고 구독하는 모델을 편리하게 지원해 준다. 편..
프로그래머스(베스트앨범)
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 총합 classic {500, index = 0} {150, index = 2 } {800, index =3} 1450 pop {600, index = 1} {2500, index =4} 3100 pop이 더 인기가 많았으므로 pop부터 실린다. 단, 실행한 곡이 많은 순으로 실려야 하므로 4, 1 순서이다. 그 다음 classic은 순서가 3, 0, 2이지만 2곡만 실려야한다 했으므로 ..
스프링 빈 조회
·
카테고리 없음
컨테이너에 등록된 모든 빈 조회 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test @DisplayName("모든 빈 출력하기") void findAllBean(){ String [] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String beanDefinitionName : beanDefinitionNames) { Object bean = ac.getBean(beanDefinitionName); System.out.println("name = " + beanDefinitionName + "object=" + bean..
스프링 컨테이너 생성 및 생성 과정
·
BackEnd/스프링 핵심 원리 - 기본편
스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는 인터페이스이다. (다형성 적용) AnnotationConfigApplicationContext는 구현체이다. 즉 에노테이션 기반의 자바 설정 클래스로 만든 것이다. 직전에 AppConfig 를 사용했던 방식이 애노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. 스프링 컨테이너 생성 과정 1. 스프링 컨테이너 생성 new AnnotationConfigApplicationCo..
스프링으로 전환하기(스프링 컨테이너)
·
BackEnd/스프링 핵심 원리 - 기본편
이제 부터 스프링으로 전환하는 것이다. @Configuration public class AppConfig { @Bean public MemberService memberService(){ return new MemberServiceImpl(memberRepository()); } @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); } @Bean public DiscountPolicy discountPo..
부분합(백준_1806)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제설명 5 1 3 5 10 7 4 9 2 8 중 부분합으로 15 이상인 수열 중 가장 길이가 짧은 것을 찾는 것이다. {5, 10} {10, 7}이 제일 짧다. 문제에 대한 아이디어 부분합과 수열의 길이를 구하라는 것에서 투 포인터를 써야겠다고 생각했다. 제일 처음 시작 할 때, First = 0, Second = 0; sum =0; count =0;이다. 1. sum < s 이면..