일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- docker명령어
- 2 > /dev/null
- AuthenticationEntryPoint
- foreignkey
- EC2
- 테스트메소드
- 추후정리
- subquery
- 컨테이너실행
- 메소드명
- 참조키
- WeNews
- 네이티브쿼리
- Query
- querydsl
- 커밋메세지수정
- 서브쿼리
- application.yml
- ㅔㄴ션
- 포트
- 검색
- 테스트
- ubuntu
- 예약
- appspec
- 외부키
- 메세지수정
- appspec.yml
- MySQL
- 적용우선순위
- Today
- Total
목록분류 전체보기 (439)
제뉴어리의 모든것
사전 지식 AOP AOP는 아래에서 설명하겠지만, 관심사항과 부가적인 관심사항을 나눠서 프로그래밍을 하는 기법일 뿐이다. 특정 라이브러리나 프레임워크 같은것을 말하는것이 아니다. 자바나 스프링에 종속된 기술도 아니다. 다른 언어, 다른 프레임워크에도 존재하는 개념이다. Spring AOP AOP를 지원하는 방법은 여러가지가 있지만, 그 중 스프링에서 지원하는 AOP 방식을 말한다. Spring AOP에서는 프록시를 이용하여 AOP를 지원한다. AspectJ 스프링 AOP를 지원하는 여러 소프트웨어 중에 하나이다. 하지만 거의 표준처럼 많이 쓰이는 소프트웨어로 Spring AOP에서도 AspectJ를 부분적으로 이용하여 AOP가 구현되었다. 출처 : https://dataonair.or.kr/db-tech..
빈 생명주기 콜백 메소드 빈이 생성되고 속성들을 초기화 해야하는 경우가 있다. 그리고 빈 소멸시에 속성들을 정리(DB Connection 끊기와 같은) 해줘야 하는 경우도 있다. 이런 경우에 개발자는 빈의 생성 시점과 소멸시점을 인지할 수 있는 방법이 없다. 이럴때 스프링은 여러가지 방법으로 초기화 시점과 소멸 시점을 알려준다. 그 방법들을 설명하려 한다. + 스프링 빈의 이벤트 라이프사이클 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 사용 -> 소멸전 콜백 -> 스프링 종료 초기화 콜백: 빈이 생성되고, 빈의 의존관계 주입이 완료된 후 호출 소멸전 콜백: 빈이 소멸되기 직전에 호출 한가지 의문 그냥 빈의 생성자에 초기화 부분을 다 넣어주면 되지 않을까? 그것도 한가지..
의존관계 자동 주입 종류 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 생성자 주입 이름 그대로 생성자를 통해서 의존 관계를 주입 받는 방법이다. 특징 생성자 호출시점에 딱 1번만 호출되는 것이 보장된다. 불변, 필수 의존관계에 사용. 불변, 필수란 final과 같은 키워드를 사용하는 멤버필드를 말하며, 애플리케이션이 작동하는중에 변할리가 없는 객체들을 말한다. 기본 코드 @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired /..
컴포넌트 스캔이란? @Component라는 애노테이션을 찾아내서 해당 애노테이션이 붙은 클래스를 스프링빈으로 등록하는 것. 컴포넌트 스캔 사용법 1. @ComponentScan이라는 애노테이션을 설정정보에 붙여준다. @ComponentScan public class BasicTest { //그냥 설정파일 이름이 BasicTest라고 생각하면 된다. } 2. @ComponentScan이 붙은 설정파일을 스프링 컨테이너에게 인자로 전달한다 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); new로 생성되는 객체는 ApplicationContext의 구현체이다. 3. 빈으로 등록하고 싶은..
스프링빈이란? (간략 설명) 자바 객체인데, 스프링에서 인식하고 있는 자바객체를 말하며 스프링 컨테이너가 관리하고 있다. 스프링 컨테이너란? 스프링빈을 생성하고 관리하는 객체. 스프링 컨테이너가 관리하고 있다라는것은 빈을 생성하고, 가지고 있으며, 빈이 필요한 부분에서 빈을 제공, 소멸까지 담당한다고 할 수 있다. 스프링 컨테이너의 역할 1. 빈 생성 2. 빈을 가지고 있음 3. 의존성 주입 4. 빈 소멸 왜 스프링을 써야하나? 가장 근본적인 이유는 개발을 편하고 쉽게 하기 위해서다. 그럼 편하고 쉬운것이란? 수정사항이 생겨도 코드를 최대한 조금만 수정하는것이 편한것이다. 그리고 만들때도 복잡하지 않고 단순하고 직관적이게 만드는게 쉬운것이다. 개발을 편하고 쉽게 하려면 IoC,DI,AOP 와 같은 여러 ..
@Component Scan이란? 스프링컨테이너의 구성정보가 없어도 @Component라는 애노테이션이 붙은 클래스들을 찾아서 빈으로 등록하는 스프링의 기능이다. 여기서 말하는 구성정보란, AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); 에서 AutoAppConfig.class 내부에 빈으로 등록할 객체들을 말하고, 구성정보가 없어도 된다는것은, AutoAppConfig 클래스의 내부에 빈으로 등록할 객체들이 정의되어 있지 않아도 된다는 의미이다. @Component Scan의 필요성 구성정보 클래스에 등록할 빈들을 적어 놓는것은 한눈에 빈들의 존재를 알 수 있다는 장점도 ..