The Debugging Chronicles : "코드의 미학"
[Spring] 이번주 내용 복습 본문
1. 컨테이너란?
개발자 대신 new(객체)를 생성 관리 해주는 것을 발한다.
2. 스프링 프레임워크를 한마디로 요약해보면?
IoC 와 AOP를 지원하는 경량의 프레임워크다.
3. IoC 란?
제어의 역행 : 제어권자인 개발자가 new 하지 않고 사용
4. 중간 프로젝트 컨테이너가 1개 == 톰캣(서블릿 컨테이너)
서블릿 파일의 객체만 new 한다.
5. .xml(설정파일) 1:1
실습때 factory(컨테이너) => applicationContext.xml
서블릿 컨테이너(톰캣) => web.xml
스프링 => pom.xml
6. new == <bean>
7. .xml 과도한 설정 -> @어노테이션 설정을 개발
.xml 보단 @ 어노테이션을 사용하는 것이 좋다.
최종 복습
pom.xml Spring web 설정파일
: 라이브러리 세팅(설정)하는 파일이다.
applicationContext.xml 컨테이너 설정파일 ->
컨테이너란?
개발자를 대신해서
객체를 생성(관리)해주는 것
new(호출)
=> 서블릿 컨테이너(톰캣) -> ForntController를 생성해줬다.
개발자를 대신해서
new FC();
fc.doGet();
fc.doPost();
GenericXmlApplicationContext 는 실무에서는 사용하지 안하지만 연습용으로 사용중
IOC
constructor-arg 태그가 있다면
생성자 주입
<bean class="test.GalaxyPhone" id="samsung" lazy-init="true" scope="prototype">
<constructor-arg ref="samsung1"></constructor-arg>
<constructor-arg type="int" value="1234"></constructor-arg>
</bean>
property 태그가 있다면
setter 주입 : 웹에서는 setter 주입을 많이 사용하는데 이는 사용자에게 더 나은 경험을 제공하기 위함이다.
-> bean(객체)이 생성(new)되다가 예외가 발생한는 것을 방지할 수 있다.
==> 기본 생성자를 활용한다.
<bean class="test.IPhone" id="apple">
<property name="watch" ref="apple1"/>
<property name="num" value="1234"/>
</bean>
DI 의존주입
의존성 == 어떤 메서드를 수행할때 필요로한다.
멤버변수
ex) Controller에게 DAO 의존성이 있다.
ex) DAO에게 conn,pstmt 의존성이 있다.
특정 액션명 의 기능을 가지는 애가
이름이 다른 상태로 new(객체 생성)가 되고 있다.
.xml 설정파일로 <bean> 해서
객체를 new하고 있었는데,
설정파일의 내용이 너무 과다해지면서
개발자들에게 불편함이 생겼다..
이에따라 @어노테이션(애너테이션) 을 사용하게 되었다.
(@어노테이션의 근본은 .xml이다)
'Spring' 카테고리의 다른 글
[Spring] 기본 구조 (0) | 2024.10.04 |
---|---|
[Spring] 어노테이션(annotation) 의존성 주입 (0) | 2024.10.04 |
[Spring] 의존성(Dependency) - Setter 주입 (2) | 2024.10.02 |
[Spring] 의존성(Dependency) - 생성자 주입 (2) | 2024.10.02 |
[Spirng] 프레임워크 구조 -2 ( pre-loading / lazy-loading) (0) | 2024.10.01 |