본문 바로가기

전체 글25

[스프링기본 : IoC 컨테이너] messageSource messageSource 국제화 기능을 제공하는 인터페이스(i18n) ApplicationContext 에서 상속. messages.properties 사용 현재 샘플은 스프링부트이기 때무에 별다른 설정 없이 사용가능 : (내부적으로 messages- 시작하는 자동으로 등록해주는 Bean을 갖고 있음 - https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#context-functionality-messagesource) messages.properties - default messages_ko_KR.properties = 을기준으로 왼쪾은 key, 오른쪽은 value 가 된다. {0}은 메시지소스.. 2019. 10. 13.
[스프링기본 : IoC 컨테이너] Environment - Property Property property란 말그대로 내가 필요한 정보값들을 저장해서 사용하는 설정값을 말한다. Enviroment의 역할을 프로퍼티 소스의 설정및 프로퍼티 값을 가져온다. 우선순위 ServletConfig 매개변수 ServletContext 매개변수 JNDI (java:comp/env/) JVM 시스템 프로퍼티 (-Dkey=”value”) JVM 시스템 환경 변수 (운영 체제 환경 변수) @PropertySource Enviroment를 통해 property추가 폴더 경로 app.properties 이렇게 파일을 등록해놓으면 파일을 찾을수 잇도록 해줘야한다. SamplePropertyApplication.java AppRunner.java 결과 그렇다며 동일한 프로퍼티명으로 jvm 프로퍼티를 추가.. 2019. 10. 10.
[스프링기본 : IoC 컨테이너] Environment - Profile Environment ApplicationContext(EnvironmentCapable 상속)가 가지고 있는 기능중 하나로 어플리케이션의 속성과 환경등을 다루는 인터페이스. Profile Profile은 환경에 따라 사용해야 하는 빈들이 다른데 이런 빈들의 구성을 쉽게 할수 있도록 도와주는 기능. 예를들면 개발, 테스트, 운영 별로 사용해야하는 빈이나 내용이 다르다고 하면 Profile을 통해 관리해주면 쉽게 관리 할수 있다. Environment 객체로 현재 설정된 Profile 확인하기 ApplicationContext가 상속하는 EnviromentCapable 내부에는 getEnviroment 메소드를 가지고 있다 이를 이용해보자. 그런데 사실 지금 Profile 설정을 하지는 않았다. 그렇다면 .. 2019. 10. 10.
[스프링 기본 : IoC 컨테이너]빈 스코프 빈 스코프 란? 스프링 빈은 기본적으로 모든 bean을 싱글톤으로 생성하여 관리 종류 singleton : 기본 prototype : 어플리케이션 요청시 마다 스프링이 새 인스턴스 생성 request : HTTP요청별로 인스턴스화 되어 요청이 끝나면 소멸(Spring MVC 용도) session: HTTP 세션별로 인스턴스화 되어 세션이 끝나면 소멸(Spring MVC 용도) global session : 포틀릿 기반의 웹어플리케이션 용도 , 전역세션 스코프의 빈은 같은 스프링 MVC를 사용한 포탈 어플리케이션 내의 모든 포틀릿 사이에 공유 가능(Spring MVC 용도) thread: 새 스레드 에서 요청하면 새로운 bean인스턴스를 생성, 같은 스레드에선 항상 같은 bean반환 custom : org.. 2019. 10. 6.
[스프링 기본 : IoC 컨테이너] @Component 와 컴포넌트 스캔 컴포넌트 스캔 주요 기능 스캔 위치 설정 : basePackages, basePackageClasses 필터 : 어떤 어노테이션을 스캔할지 또는 하지 않을지 @Component 의 종류 @Repository @Service @Controller @Configuration 동작원리 @ComponentScan은 스캔할 패키지와 어노테이션에 대한 정보 실제 스캐닝은 ConfigurationClassPostProcessor 라는 BeanFactoryPostProcessor에 의해 처리됨. 참고자료 https://www.inflearn.com/course/spring-framework_core 스프링 프레임워크 핵심 기술 - 인프런 이번 강좌는 스프링 부트를 사용하며 스프링 핵심 기술을 학습합니다 따라서 스프링 .. 2019. 10. 6.
[스프링 기본 : IoC 컨테이너] @Autowired @Autowired @Autowired 어노테이션을 상요하면 IoC 컨네티어 안에 존재하는 빈을 자동으로 찾아 주입시켜준다.(타입기준) required : 기본값은 true (true 인경우 못찾으면 어플리케이션 구동 실패) 사용가능 위치 생성자(스프링 4.3부터는 생략가능) 세터 필드 파라미터 어노테이션 타입 @Autowired setter 메소드에 사용 SampleRepository.java SampleService.java @Autowired required 확인 위 SampleRepository.java 에서 @Repository 제거후 실행 @Autowired 어노테이션은 기본값이 true이기 때문에 true인경우에는 위에서 설명한 바와같이 등록한 대상이 없으면 어플리케이션 구동이 실패한다 따라.. 2019. 10. 6.