일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 생성자
- 스프링 마이바티스
- #인테리어
- 데이터베이스연동
- JSP
- 스프링 NamedParameterJDBCTemplate
- #출처는 페이스북
- Spring
- 스프링 마이바티스연동
- AOP-관점지향 프로그래밍(Aspect Oriented Programming)
- 스프링 autowired
- 스프링 데이터베이스연동
- spring mybatis연동
- #데이터 베이스
- 스프링 DB연동
- #스프링 셋팅
- 스프링 데이터베이스
- 스프링 setter
- #Java
- 관점지향 프로그래밍
- 스프링 의존성주입
- 스프링 의존성
- AOP-관점지향프로그래밍
- #JSP
- srping 데이터베이스연동
- predestory
- 스프링 mybatiis
- 스프링
- 스프링 팩토리
- JSP-서블릿
- Today
- Total
재미있게 코딩합시다
2.스프링(Spring)-어노테이션, @postConstruct, @ preDestory 본문
스프링 컨테이너 만드는 방법
1.XML 설정파일(applicationContext)을 통해서
- 전부다 XMl로 설정
- 어노테이션을 사용하는 방법.
2. 썡 자바코드 ( 잘 쓰지않는다)
@Component 을 쓰는 방법 :
applicationContext.xml 에서 Namespaces를 클릭한다.
context 를 클릭해주고 저장
이후
<context:component-scan base-package=""></context:component-scan> 를 작성후
package = " " 에는 사용할 package 이름을 지정해주면 됩니다.
이후 Bean에 넣을 class 파일안의 public class ~~ 위에 @Component 을 작성하면 끝납니다.
@Autowired : 컨테이너가 가지고 있는 Bean 객체중 여기에서 넣을 수 있을거 같은놈을 찾아서 여기에 집어 넣는다.
- 함수위에 적어준다.
- 변수위에도 작성이가능하다.
=>setter도 없고 변수도 private인데 들어간다.
@Autowired :
- 타입 우선매칭
- 컨테이너에 들어있는 Bean 객체 중에서 타입이 일치하는 Bean 책체를 주입
- 타입이 일치하는 Bean 객체가 없으면 ?
=> 에러!!! 해당 Bean 객체 자체가 등록이 안디고, 그러면 컨테이너 자체가 발드가 안됨
- 에러는 안띄우고 그냥 주입없이 넘어갈려면?
=> required속성을 false로 지정 해주면 된다.
- 타입이 일치하는 Bean객체가 한개보다 많으면?
=> 에러!! 해당 Bean객체 자체가 등록 안되고, 컨테이너 자체가 빌드 되지않는다.
=> 타입매칭 되는 애가 많으면 2순위로 이름을 매칭시킨다.
=> 매개변수 이름이랑 등록된 Bean 객체중 타입맞는 아이의 이름이 맞으면 그아이로 연결시켜준다.
- 매개변수 이름이랑 등록된 Bean 객체중 타입맞는 아이들중 이름이 맞는 애가없으면
=> @Qualifier // 타입 맞는애가 2개이상이고, 이름맞는애가 없다 그런대 주입시킬 Bean객체의 이름은 바꾸면안될때 쓴다.
스프링 컨테이너에 Bean 객체가
1. 사용준비가 되는 타이밍에 호출될 함수를 만들기
2. 스프링컨테이너에서 빈 객체가 폐기되기 직전 호출될 함수를 만들기
3가지 방법이있다
1. XML
2. @Annotation
3. 인터페이스
1. @Annotation 방법:
@postConstruct :
-객체를 사용시 호출 할 메소드를 지정
@PreDestory :
- 객체를 소멸 시 호출 할 메소드를 지정
- close()하기 직전에 실행된다.((AbstractApplicationContext).close()
2. XML 방법 :
java 코드
XML 코드
3. 인터페이스
여기까지만 XML 코드를 작성해줍니다.
그리고 다른 Bean 객체들에게 의존?하는 java class 에 가서 인터페이스를 해주면 됩니다.
InitializingBean : 초기화 메소드 와 같다.
DisposableBean : 소멸 메소드 와 같다.
'IT > Spring(스프링)' 카테고리의 다른 글
스프링 - mybatis (마이바티스) (0) | 2019.01.07 |
---|---|
4.스프링(Spring)-NamedParameterJDBCTemplate (0) | 2019.01.04 |
3. 스프링(Spring) - 데이터베이스와의 연동 (0) | 2019.01.04 |
1.Spring(스프링) -의존성 주입(Dependency Injection, DI) (0) | 2019.01.02 |
Spring(스프링) 설정 (0) | 2019.01.02 |