일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 추후정리
- querydsl
- 예약
- appspec.yml
- 테스트메소드
- 테스트
- application.yml
- Query
- 네이티브쿼리
- 서브쿼리
- WeNews
- docker명령어
- 2 > /dev/null
- 검색
- subquery
- 적용우선순위
- 외부키
- appspec
- ubuntu
- EC2
- MySQL
- 커밋메세지수정
- 메세지수정
- AuthenticationEntryPoint
- 메소드명
- ㅔㄴ션
- 참조키
- 포트
- 컨테이너실행
- foreignkey
- Today
- Total
목록Spring Boot/스프링 핵심 원리 (5)
제뉴어리의 모든것
빈 생명주기 콜백 메소드 빈이 생성되고 속성들을 초기화 해야하는 경우가 있다. 그리고 빈 소멸시에 속성들을 정리(DB Connection 끊기와 같은) 해줘야 하는 경우도 있다. 이런 경우에 개발자는 빈의 생성 시점과 소멸시점을 인지할 수 있는 방법이 없다. 이럴때 스프링은 여러가지 방법으로 초기화 시점과 소멸 시점을 알려준다. 그 방법들을 설명하려 한다. + 스프링 빈의 이벤트 라이프사이클 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 사용 -> 소멸전 콜백 -> 스프링 종료 초기화 콜백: 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출 소멸전 콜백: 빈이 소멸되기 직전에 호출 한가지 의문 그냥 빈의 생성자에 초기화 부분을 다 넣어주면 되지 않을까? 그것도 한가지..
컴포넌트 스캔이란? @Component라는 애노테이션을 찾아내서 해당 애노테이션이 붙은 클래스를 스프링빈으로 등록하는 것. 컴포넌트 스캔 사용법 1. @ComponentScan이라는 애노테이션을 설정정보에 붙여준다. @ComponentScan public class BasicTest { //그냥 설정파일 이름이 BasicTest라고 생각하면 된다. } 2. @ComponentScan이 붙은 설정파일을 스프링 컨테이너에게 인자로 전달한다 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); new로 생성되는 객체는 ApplicationContext의 구현체이다. 3. 빈으로 등록하고 싶은..
싱글톤이란? 프로그래밍을 할때 사용되는 디자인 패턴 중 하나이다. 그렇다면 디자인 패턴이란? 디자인 패턴이란 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어나갈 것인가에 대한 일종의 솔루션이라고 한다. 그렇지만 쉽게 말해, 그냥 코딩 방법? 코딩 스타일? 정로 이해할 수 있다. 그리고 그 코딩스타일로 문제들을 특정 문제들을 해결할 수 있는것이다. 그럼 다시 돌아가서, 싱글톤 패턴이란! 정의된 클래스의 객체를 하나만 만들도록 하는 코딩 방법이다! 싱글톤이 아닌 클래스와 싱글톤인 클래스 싱글톤이 아닌 클래스 public class BasicService{ public BasicService() { } public void logic() { System.out.println("비싱글톤 객체 로직 호..
스프링 컨테이너란? 스프링에서 지원하는 기술 중 하나라고 볼 수 있다. 한마디로 표현하자면, 스프링에서 DI (Dependency Injection) 를 지원하고 각 객체들의 Singletone을 보장하기 위하여 정의된 클래스들의 각 객체들을 생성하고 관리하여 담아 두는 공간 이라고 할 수가 있다. DI 컨테이너라고도 부를 수 있다. 부르는 명칭은 다양한다. 스프링 컨테이너의 필요성 순수 자바로만 좋은 객체지향 프로그래밍을 하기에는 효율이 떨어지고, 좋은 객체지향 프로그래밍을 하기에 한계가 존재하므로 스프링을 사용한다. 그리고 그런 스프링이 더 편리하게 SOLID 원칙을 지킬 수 있게 지원하는 기능이 스프링 컨테이너이다. 그러므로 스프링 컨테이너를 쓴다. 스프링 컨테이너의 역할 스프링 컨테이너란? 에서 ..
스프링이란 의미 스프링이라는 단어는 문맥에 따라 다르게 사용됨 스프링 DI 컨테이너 기술 스프링 프레임워크 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계 스프링의 진짜 핵심 스프링은 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 - 객체 지향 언어 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 객체 지향 특징 캡슐화 상속 추상화 다형성 객체 지향 프로그래밍을 하는 실질적인 이유 각 기능, 역할을 객체로 만들어 필요에 따라 갈아 끼우기만 하면 작동하도록 하기 위함. 다형성의 실세계 비유 왜 다형성을 사용하여 개발을 해야할까를 생각해보면 궁극적인 목표인 개발을 쉽게 하기 위해서다. 그렇다..