본문 바로가기
반응형

Spring/개념13

SpEL(Spring Expression Language) SpEL 1. 개념 정의 Spring Expression Language(SpEL)로 불립니다 run time에 객체 그래프의 쿼리하고를 지원하고, 객체를 조작할 수 있는 강력한 표현식 언어 입니다 cf) 파라미터 참조 와 같이 그래프화 한것들 jpa에 Entity graph와 비슷하다고 생각하면 됩니다 문자열 template과 같은 곳에 주로 많이 사용됩니다 Spring 내부에 프로젝트로도 존재하지만, 필요하다면 parser와 같은 여러 클래스를 생성하거나 infra 설정을 통해서 SpEL을 독립적인 표현 언어 처럼 사용할 수 있습니다 제공 기능들 리터럴 표현식 (Literal Expression) Boolean과 관계형 Operator (Boolean and Relational Operator) 정규.. 2022. 9. 7.
Resilience4J 필자는 Resilience 4J에 대한 공부를 진행중 궁금하거나 내부적으로 어떻게 돌아가는지 확인해보고자 학습을 시작했습니다 잘못된 부분이 있을 경우 언제나 댓글을 남겨주시고 수정 요청 주세요! 정의 Netflix에서 개발하고 제공해줬던 Hystrix에서 염감을 받아서 Java8의 함수형 문법을 기반으로 제작한 fault tolerance 라이브러리 입니다 Hystrix 와 Resilience4J 외부 라이브러리 참조 차이 Hystrix는 외부 라이브러인 Guava 와 Apache Commons Configuration을 종속하고 있는 Archaius를 의존하고 있습니다 하지만 Resilience4J는 외부 라이브러리 종속 없는 Vavr라는 것을 사용고 있습니다 cf) vavr: java를 위한 func.. 2022. 7. 30.
Spring EventListener EventListener 정의 Event 객체를 spring 에서 제공해주는 publiser Bean의 1개의 Api를 호출할 경우 등록된 Event객체를 사용하는 listener의 비즈니스 로직을 모두 호출 하는 기능 비동기 처리 및 결합도가 높은 독립된 비즈니스 로직을 때어낼때 사용합니다 구성 Bean 객체를 관리하는 ApplicationContext는 ApplicatioinEventPubliser interface를 상속 받습니다 public abstract class AbstractApplicationContext extends DefaultResourceLoader implements ConfigurableApplicationContext { protected void publishEvent(O.. 2022. 5. 28.
Spring Transactional 동작 과정 전체 로직 Flow public abstract class TransactionAspectSupport implements BeanFactoryAware, InitializingBean { @Nullable protected Object invokeWithinTransaction(Method method, @Nullable Class targetClass, final InvocationCallback invocation) throws Throwable { TransactionAttributeSource tas = getTransactionAttributeSource(); final TransactionAttribute txAttr = (tas != null ? tas.getTransactionAttrib.. 2022. 4. 10.
반응형