일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 사이드 프로젝트
- redis
- Spring
- Action
- 토비의 스프링
- Airflow
- AOP
- db
- compiler
- build_test
- mutable
- kotlin
- string
- JUnit
- immutable
- QueryDSL
- JPA
- CodeDeploy
- aws
- workflow
- git
- rds
- Github
- java
- template
- EC2
- 알고리즘
- springboot
- Today
- Total
목록Spring (28)
개발 일기

노션을 참고하면 더욱 좋습니다. 6장 AOP AOP 는 IoC , DI, 서비스 추상화와 더불어 스프링 3대 기반기술의 하나이다. AOP는 정말 중요한 개념이다 해당 장을 이용하여 자세히 알아보도록 하자 6.1 트랜잭션 코드의 분리 지금까지 서비스 추상화 기법을 적용해 트랜잭션 기술에 독립적으로 만들어줬고 다른 코드들도 깔끔하게 만들었다. 하지만 찜찜하다 더 깔끔한 코드를 만들고 싶다 비즈니스 로직에서 트랜잭션 로직을 분리해보자 6.1.1 메소드 분리 기존 코드를 보면 뚜렷하게 두가지 종류의 코드가 구분되어 있다. 트랜잭션과 비즈니스가 존재한다 비즈니스 로직을 담당하는 코드를 메소드로 추출해서 독립시켜 보자. 분리 전 class UserService { public void upgradeLevels() ..

노션을 참고하면 더욱 좋습니다. 5장 서비스 추상화 5장에서는 지금까지 만든 DAO에 트랜잭션을 적용해보면서 스프링이 어떻게 성격이 비슷한 여러 종류의 기술을 추상화하고 이를 일관된 방법으로 사용할 수 있도록 지원하는지를 살펴본다. 5.1 사용자 레벨 관리 기능 추가 지금까지 만든 UserDao는 단순 CRUD 만 하는 기능만 있고 어떠한 비즈니스 로직도 존재하지않는다. 여기에 간단한 비즈니스로직을 추가해보겠다. 구현해야할 비즈니스 로직은 다음과 같다. 사용자의 레벨은 BASIC, SILVER, GOLD 세가지 중 하나다. 사용자가 처음 가입하면 BASIC 레벨이 되며, 이후 활동에 따라서 한 단계씩 업그레이드 될 수 있다. 가입 후 50회 이상 로그인을 하면 BASIC에서 SILVER 레벨이 된다. S..

노션을 참고하면 더욱 좋습니다. 4장 예외 이번 장에서는 JdbcTemplate를 통해서 예외 처리하는 법을 살펴본다. 4.1 사라진 SQLException 3장에서 달라진 deleteAll() // 변경전 public void deleteAll() throws SQLException { this.jdbcContext.executeSql("delete from users"); } // 변경후 public void deleteAll() { this.jdbcTemplate.update("delete from users"); } JdbcTemplate를 사용한뒤 SQLException 이 사라졌다. 4.1.1 초난감 예외처리 예외 블랙홀 자바의 기초를 배운학생들이나 귀찮다고 대충 만드는 사람들이 많이 저지르는..

노션을 참고하면 더욱 좋습니다. 3장 템플릿 1장에서는 초난감 DAO 코드에 DI를 적용해나가는 과정을 통해서 관심이 다른 코드를 다양한 방법으로 분리하고, 확장과 변경에 용이하게 대응할 수 있는 설계구조로 개선하는 작업을 했다. 확장에는 열려있고 변경에는 굳게 닫혀 있다는 객체지향 원리중 하나인 개방 폐쇄 원칙 OCP 를 생각 해보자. 이 원칙은 코드에서 어떤 부분은 변경을 통해 그 기능이 다양해지 확장하려고 하는 성질이 있고, 어떤 부분은 고정되어 있고 변하지 않으려는 성질이 있음을 말해준다. 변화의 특성이 다른 부분을 구분해주고, 각각 다른 목적과 다른 이유의 의해 독립적으로 변경 될 수 있는 효율적인 구조를 만들어 주는 것이 바로 이 개방 폐쇄 원칙이다. 템플릿이란 이렇게 바뀌는 성질이 다른 코드..