
스프링은 트랜잭션, 메일 전송, OXM 등 다양한 서비스 추상화 기능을 제공한다.분야추상화 인터페이스설명대표 구현체트랜잭션PlatformTransactionManager선언적/프로그래밍 방식 트랜잭션 관리DataSourceTransactionManager, JpaTransactionManager, ChainedTransactionManager 등메일 전송MailSender (JavaMailSender)이메일 전송 기능 추상화JavaMailSenderImplOXM (XML 매핑)Marshaller, Unmarshaller객체 ↔ XML 변환Jaxb2Marshaller, CastorMarshaller, XStreamMarshaller, XmlBeansMarshaller데이터 액세스DataSource, Jdb..

작성된 코드에 대해 질문해보기코드에 중복된 부분은 없는가?코드가 무엇을 하는 것인지 이해하기 불편하지 않은가?코드가 자신이 있어야 할 자리에 있는가?앞으로 변경이 일어난다면 어떤 것이 있을 수 있고, 그 변회에 쉽게 대응할 수 있게 작성되어있는가?public void upgradeLevels() { List users = userDao.getAll(); for(User user : users) { Boolean changed = null; if (user.getLevel() == Level.BASIC && user.getLogin() >= 50) { user.setLevel(Level.SILVER); changed = true; } else if (user.getLevel() == Leve..

코드 개선하기코드 개선에서 가장 먼저 할 일은 변하는 부분과 변화지 않는 부분을 찾아내서 분리하는 것. Spring context 의존 주입 (DI) 방식컨텍스트는 별도의 빈으로 등록해서 DI 받거나 클라이언트 클래스에서 직접 생성해서 사용한다. 클래스 내부에서 컨텍스트를 사용할 때 컨텍스트가 의존하는 외부의 오브젝트가 있다면 코드를 이용해서 직접 DI 해줄 수 있다. 컨텍스트를 빈으로 등록하고 DI 받기스프링 컨텍스트를 빈으로 등록하고, 필요할 때 DI(의존성 주입)받아서 사용스프링이 자동으로 ApplicationContext를 주입해주므로, 개발자가 직접 컨텍스트를 생성할 필요 없음@Componentpublic class MyService { private final ApplicationCont..
- Total
- Today
- Yesterday
- mockery
- php
- laravel
- mongoDB
- docker
- index
- JUnit
- 몽고디비
- 대규모 데이터 처리
- MySQL
- 샤딩
- AOP
- 라라벨
- 쿠버네티스
- devops
- 카프카
- Infra
- laravel 테스트코드
- 스프링
- NoSQL
- kafka
- 분산처리
- k8s
- Spring
- phpUnit
- springboot
- java
- Container
- database
- kubernetes
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |