일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @Autowired
- 강좌 정리
- database error
- 기계학습
- 지도학습
- 백기선 강좌
- 프레임워크
- PSA
- 비지도학습
- 스프링
- IoC 컨테이너
- jetbrains
- 스프링부트 에러
- aop
- krpano
- syncronized
- 강화학습
- 노션 Formula
- express
- timezone error
- 노드
- 노션
- express-generator
- 스프링 빈
- Proxy 패턴
- Do It 정직하게 코딩하며 배우는 딥러닝 입문
- 스프링 프레임워크
- Dependency Injection
- 딥러닝
- 의존성주입
- Today
- Total
목록스프링 프레임워크 (4)
hyungmuk's blog
IoC, AOP, PSA를 스프링 트라이앵글이라고 한다. 그중에 IoC는 저번 시간에 했고, 이번 시간에는 AOP에 대해서 알아본다. AOP의 사전적 의미 Aspect Oriented Programing : 관점 지향적인 프로그래밍 AOP를 구현하는 방법은 3가지가 있다. 컴파일을 이용하는 방법 A.java가 A.class로 컴파일 될 때 AspectJ를 이용하여 AOP를 구현한다. 바이트코드를 조작하는 방법: 컴파일된 A.class가 메모리에 올라갈 때 AspectJ를 이용하여 AOP를 구현한다. 프록시 패턴을 이용한 방법 이 방법이 스프링에서 사용되는 AOP 방법이다. 프록시(Proxy)에 대해서는 프록시 패턴을 설명하고 있는 글 https://refactoring.guru/design-pattern..
의존성 주입 방법 생성자, 필드, Setter 중 한곳에 @Autowired 어노테이션을 사용한다. @Autowired 생성자에서의 사용 @Autowired public OwnerController(OwnerRepository clinicService) { this.owners = clinicService; } 스프링 4.3 부터 생성자에서 사용할때 @Autowired를 생략 할 수 있다. public OwnerController(OwnerRepository clinicService) { this.owners = clinicService; } 필드에서의 사용 @Autowired private OwnerRepository owners; Setter에서의 사용 @Autowired public void set..

빈이란 ? 객체인데 IoC 컨테이너가 관리하는 객체를 말한다. 같은 OwnerController 지만 1번은 빈이 아니지만 2번은 빈이다. 왜냐하면 1번은 new가 사용 되었고 2번은 applicationContext에서 관리하는 객체를 가져온 것이기 때문이다. 빈은 applicationContext가 알고 있는객체, 즉, applicationContext가 관리하는 객체여야 한다. 이러한 '빈'들만 의존성 주입이 가능하다. 빈 등록 방법 Component Scannig @Component @Repository @Service @Controller @Configuration 직접 XML이나 자바 설정 파일에 등록 빈을 꺼내는 방법 @Autowired 또는 @Inject 사용 ApplicationConte..

IoC 컨테이너 역할 빈을 만든다. 빈들 사이의 의존성을 엮어준다 컨테이너가 가지고 있는 빈을 제공한다. 인텔리제이 IDE에서 클래스 왼쪽에 녹색 콩 표시가 있으면 빈으로 등록된 것이다. 의존성 주입은 빈 끼리만 가능하다. 즉, IoC 컨테이너에 들어있는 객체들 끼리만 의존성 주입을 해준다. 빈을 가지고 오는 방법 @Autowired ApplicationContext applicationContext; @Test public void getBean() { applicationContext.getBeanDefinitionNames() } applicationContext 안에 모든 빈들이 들어 있다. .getBeanDefinitionNames() 메소드는 모든 빈들의 이름을 가져온다. .getBean(s:..