본문 바로가기

spring40

[Spring boot]properties-스프링 부트 외부 설정 및 설정값 검증 | 스프링 부트 외부 설정 스프링 부트는 외부 설정을 통해 스프링 부트 어플리케이션의 환경설정 혹은 설정값을 정할 수 있습니다. 스프링 부트에서 사용할 수 있는 외부 설정은 크게 properties, YAML, 환경변수, 커맨드 라인 인수 등이 있습니다. | properties 파일을 통한 설정 properties 파일을 통해서 다음과 같이 스프링 부트 어플리케이션의 외부 설정을 할 수 있습니다. properties의 값은 @Value 어노테이션을 통해 읽어올 수 있습니다. # application.properties # 스프링부트가 구동될 때 자동적으로 로딩하는 프로퍼티 파일 # 스프링부트의 규약 hi.name=hong hi.age=${random.int} //random값을 이용하여 값 랜덤 생성 #.. 2020. 1. 21.
[Spring]AOP(Aspect Oriented Programming)란? @Service public class AppRunner implements ApplicationRunner { @Autowired EventService eventService; @Override public void run(ApplicationArguments args) throws Exception { eventService.createEvent(); eventService.publishEvent(); eventService.deleteEvent(); } } 스프링 AOP ( Aspect Oriented Programming ) AOP는 Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인.. 2020. 1. 16.
[Spring]스프링 Expression Language란?SpEL (Spring Expression Language) | 스프링 Expression Language : SpEL ● 객체 그래프를 조회하고 조작하는 기능을 제공한다. ● Unified EL과 비슷하지만, 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다. ● OGNL, MVEL, JBOss EL 등 자바에서 사용할 수 있는 여러 EL이 있지만, SpEL은 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들었다. ● 스프링 3.0 부터 지원한다. SpEL 구성 ● ExpressionParser parser = new SpelExpressionParser() ● StandardEvaluationContext context = new StandardEvaluationContext(bean) ● Expression expression = parser.par.. 2020. 1. 15.
[Spring]Resource 추상화 Resource 추상화 Resource 추상화라고 하니까 뭔가 말이 거창하고 어려워 보이네요. 간단하게 의미를 정의해보겠습니다. Resource 추상화는 java.net.URL을 추상화 한 것 입니다. 우선 java.net.URL이 무엇인지를 알아보아야 할 것 같습니다. java.net.URL 이란 우선 URL은 인터넷상의 주소를 표현하는 방법을 의미합니다. URL 클래스는 웹 상에 존재하는 자원에 접근할 때 사용하는 클래스입니다. URL 클래스를 사용하면 위와 같이 간단히 웹상의 자원을 가져올 수 있습니다. 이유 java.net.URL을 왜 추상화 했을까요? 기존 java.net.URL 클래스에는 classpath를 기준으로 resource를 가져오는 방법이 없었다고 합니다. 하지만 classpath,.. 2020. 1. 14.
[Spring] Validation이란? Validation 이란? -애플리케이션에서 사용하는 객체들을 검증할 때 사용하는 interface. -실제 검증보단 간단한 검증을 위한 @(어노테이션)을 사용하고 @으로 검증할 수 없는 복잡한 검증 과정이 필요한 경우, 사용자가 검증을 커스텀하기 위해 구현한다. Event public class Event { Integer num; // null 이면 안됨 String title; ​ public Integer getNum() { return num; } ​ public void setNum(Integer num) { this.num = num; } ​ public String getTitle() { return title; } ​ public void setTitle(String title) { th.. 2020. 1. 13.
[Spring] ApplicationEventPublisher란? 1.ApplicationEvnetPublisher 란? ->디자인 패턴 중 하나인 Observer Pattern과 유사한 기능을 합니다. 다시 말해 Spring Framework를 통해 손쉽게 Observer Pattern을 구현하는 것입니다. 2.언제 사용하나요? (관련 글 - https://www.javacodegeeks.com/2012/08/observer-pattern-with-spring-events.html) Observer Pattern을 사용할 때를 떠올리면 됩니다. 이벤트를 발생하는 Publisher와 이를 구독하는 Observer(or Subscriber)사이의 결합도를 낮추면서도 이벤트를 Observer에게 전달을 하고싶을 때 사용하게 됩니다. 3.구조 3.1ApplicationEve.. 2020. 1. 13.