Spring/Spring_CoreTechnologies14 SpringFrameWork CoreTechnition_section4_11부 SpEL( Spring Expression Language) ※메서드 호출과 기본 문자열 템플릿 기능 SpEL 런타임 시 객체 그래프를 조회하고 조각하는 기능을 제공. Unified EL( $ { }> ...} 비슷하지만, 메소드 호출과 문자열 템플릿 기능 제공. 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들어졌습니다. spring 3.0 지원. 문법 #("표현식") $("프로퍼티") 표현식안에 프로퍼티 사용 가능하지만 프로퍼티 안에 표현식 x. 더 많은 내용은 reference 참고. -주석 참조- JavaBean 프로퍼티를 호출하는 예제로 다음에서 보듯이 문자열 프로퍼티 'Bytes'를 호출할 수 있습니다. ex) ExpressionParser parser = new SpelExpression.. Spring/Spring_CoreTechnologies 2020. 11. 20. SpringFrameWork CoreTechnition_section1_7부 ApplicationEventPublisher ※주석을 꼭 참고 해 주시기 바랍니다. 이벤트 프로그래밍에 필요한 인터페이스 제공. (옵저버 패턴 구현체) ApplicationContext extends ApplicationEventPublisher 이벤트 만들기 4.2 스프링 부터 상속받지 않아도 이벤트 사용 가능. 이벤트 방법 ApplicationEventPublisher.publishEvent(); 이번에는 또다른 handler 를 구현 해보고 실행을 하게 되면 어떤것이 먼저 실행 될지는 모르지만 둘 다 실행되는 것을 보시수 있습니다. 추가적으로 각 매소드 handle 안에 System.out.println(Thread.currentThread().toString()); 을 넣고 출력 결과를 보시면 .. Spring/Spring_CoreTechnologies 2020. 11. 19. SpringFrameWork CoreTechnition_section1_6부 MessageSource 국제화 i18n 기능을 제공하는 인터페이스. 즉, 메시지 다국화 방법입니다. 예를 들어 각 나라별 언어에 따른 메시지를 각 웹에 지정되어있는 언어마다 다르게 보여줄 수 있습니다. 깔금하게 정리하자면 MessageSource를 통해 영어, 한국어, 중국어 등 다양한 언어로 웹 서비스를 제공할 수 있습니다. ApplicationContext extends MessageSource - AppRunnser 를 만들고 @Component public class AppRunner implements ApplicationRunner { @Autowired MessageSource messageSource; // ApplicationContext ctx; @Override public void.. Spring/Spring_CoreTechnologies 2020. 11. 19. SpringFrameWork CoreTechnition_section1_5부 Environment Profile 기능과 Property 기능 Profile 기능 ApplicationContext는 Environment 상속 받고 있어 getEnvironment()를 사용할 수 있다. 가장 먼저 Environment 무언인가? 환경이라는 뜻으로 해석 할 수 있는데 말 그대로 각기 다른 환경마다 다르게 적용할 수 있는 빈들을 설정하는 것입니다. 예를 들어 테스트 환경에서 쓰이는 빈들 알파,베타,감마 버젼에 사용되는 빈들 또는 특정환경에서만 사용할 수 있게 빈들을 사용하는 것입니다.. 그리하여 여러 빈들의 묶음을 Profile 라고 합니다. 먼저 BookRepository 라는 인터페이스를 만들고 TestConfiguration 라는 클래스를 만들고 작성합니다. @profile(" p.. Spring/Spring_CoreTechnologies 2020. 11. 18. SpringFrameWork CoreTechnition_section1_4부 Scope of Bean 스코프 : 모든 빈들이 가지고 있는 것. (대표적으로 싱글톤(default)과 프로토타입이 있음.) 싱글톤 : 애플리케이션 전반에 걸쳐 해당 빈의 인스턴스가 오직 하나인 것. 프로토타입 : 해당 인스턴스가 계속 새로운 인스턴스 객체 생성. (스레드에 사용될 것같다.) *주의* 스레드세이프한 방법으로 코딩해야 합니다. 싱글톤은 프로퍼티가 공유가 됩니다. 여러 곳에서 고치면 스레드 세이프 보장받지 않습니다.(멀티스레드 환경) 프로토타입이 싱글톤 빈을 참조하면? -> 아무 문제 없음. 프로토타입은 매번 새로운 인스턴스이지만 싱글톤은 매번 같은 객체니깐 상관은 없습니다! 싱글톤 빈이 프로토타입 빈을 참조하면? -> 안됨. 프로토타입의 스코프가 변경되지 않는 문제가 발생. 바뀌지 않습니다.. Spring/Spring_CoreTechnologies 2020. 11. 17. 이전 1 2 3 다음