일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 파이썬
- compgen
- application layer
- API
- mysql
- spring
- 쿠키
- 프로그래머스
- JDBC
- @Autowired
- DTO
- 오블완
- allocationSize
- 커밋 되돌리기
- 편향된 지수
- 쉘 스크립트
- 메모리 구조
- 컴파일 타임 상수
- 티스토리챌린지
- @SubscribeMapping
- 런타임 상수
- JPA
- BindingResult
- 기본키 전략
- m:n
- Git
- 알고리즘
- intelij spring config
- 리눅스
- Today
- Total
목록분류 전체보기 (99)
둘셋 개발!
Best Practice란? 여러가지 솔루션 중 가장 대중화, 성공화, 입증된 방법 줄여서 BP라고 부른다 SW 개발 에서 Best Pratice가 중요한 이유 개발은 사람이 하는 것이기 때문에 분명 실수가 존재하고 에러상황이 발생한다. 이러한 실수를 줄이기 위해 체계적으로 개발을 시작 해야하는데 체계적인 개발 BP를 활용한다면 최대한 실수를 줄일 수 있고 성공적인 sw 결과물을 낼 수 있다. 또한 sw 개발은 보통 한사람만이 하는 것이 아니라 여러 사람이 함께 일하는 것이므로 제대로 된 협업방식이 성공적인 결과물을 이끌어 낼 수 있다. 따라서 협업 방식 BP을 활용하면 좋은 결과물을 낼 수 있다.
전체적으로 다음그림과 같이 Jpa가 동작한다 1. 설정 정보 조회 ✔️Persistence라는 클래스가 persistence.xml에 있는 설정정보를 조회한다 다음은 persistence.xml 예시이다 ➡️ 데이터베이스에 연결하기 위한 설정이 바로 여기에 있다 ➡️ 특정 데이터베이스만의 고유한 기능을 jpa 에서는 방언이라고 하는데 방언을 여기서 지정해준다. 즉, jpa는 특정 데이터베이스에 종속적이지 않는다. 2. EntityManagerFactory 생성 ✔️persistence.xml의 설정정보를 조회하고 이를 토대로 엔티티매니저 팩토리(emf 라고 줄여서 쓰겠다..)를 생성한다. ✔️emf는 딱 하나만 생성해서 애플리케이션 전체에서 공유한다 - persistence.xml 설정정보를 읽어서 jp..
빈 생명주기 콜백을 해야하는 이유 데이터 커넥션 풀이나 네트워크 소캣처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면 객체의 초기화와 종료 작업이 필요하다. 스프링 빈은 객체를 생성하고 의존관계 주입이 다 끝난 다음에야, 초기화 작업 준비가 완료된다! 그리고 스프링은 스프링 컨테이너가 종료되기 전에 소멸 콜백을 준다! ✔️스프링 빈의 라이프 사이클 스프링 컨테이너 생성 -> 스프링 생성 -> 의존관계 주입 -> 초기화 콜백 -> 애플리케이션 동작 -> 소멸 전 콜백 -> 스프링 종료 🧐스프링 빈의 객체 생성 시점에 의존관계주입과 초기화 작업을 한꺼번에 하면 안되나??? -> 객체의 생성과 초기화는 분리하는 것이 좋다. 초기화는 외부..
의존관계 주입은 4가지 방법이 있다. 1. 생성자 주입 2. 수성자 주입 (setter) 3. 필드 주입 4. 일반 메서드 주입 결론적으로 말하자면 생성자 주입을 쓰는 것이 바람직하다! 생성자 주입을 해야하는 이유 1. 의존관계는 불변해야 함 : 대부분 의존관계 주입은 한 번 일어나면 종료시 까지 변하지 않는다. 따라서 생성자는 딱 1번만 호출되기 때문에 생성자 주입이 알맞다 2. 의존관계 주입을 누락할 일이 없음 : 생성자 주입을 사용하면 주입 데이터가 누락 시 컴파일 오류가 발생한다. 3. final 사용 가능 : 필드에 final키워드를 사용하게 되면 생성자에서 그 필드를 초기화 시켜주어야만 컴파일 오류가 발생하지 않는다. 따라서 오류를 컴파일 시험에 막아준다. 생성자 주입을 한 모습 @Compon..