Adventure Time - Finn 3
본문 바로가기
Spring

<bean>

by hyun9_9 2024. 2. 26.

<bean>이란?
★new를 대신해주는 태그 ★
결합도가 낮아집니다!
<bean class="클래스명" id="객체명"/>
Phone phone =new Phone();
<bean class= "test.Phone" id="phone"/>

handler=new HandlerMapper();
<bean class="controller.common.HanderMapper" id="hander"/>

mappings.put("/main.do", new MainAction()); >> new MainAction()
<bean class="controller.action.MainAction"/>
규칙 1. id 값은 중복허용 xxx
규칙 2. <bean>을 통해 new 된 객체들은 Heap메모리 영역에 저장됨
+) 싱글톤을 알아서 해주는 것은 아님
class -> 정확한 경로로 적어야함

6. 싱글톤에 관련된 설명이 제각각일 수 있음 -> 잘 파악해서 정리할것
싱글톤을 알아서 해주는 것은 아님
교재에 "<bean>이 싱글톤을 유지해준다."
<bean class= "test.Phone" id="phone"/>
<bean class= "test.Phone" id="phone2"/>
에러 x
권장 x=> 싱글톤이 유지되지 않음
한번 phone, phone2 객체를 생성했다면
   다음에 다른곳에서 phone을 요청했을때에
   이미 만들어둔 객체를 준다
>> phone 이라는 이름의 객체가 다시 요구되었을때 기존의 phone 을 미리 메모리에 load되었던 객체를 전달


7. <bean>에 등록된 객체들을 스프링 컨테이너가 구동될때(시작될때) 한번에 Heap메모리에 load(적재)
한번에 객체생성함
스프링 컨테이너가 구동될떄 딱 한번만 new == 싱글톤
이후 호출되면(팩토리 패턴을 활용해서) 요청하는 객체를 전달 : LookUp
"phone이 LookUp이 안돼" 객체를 안줌

-> 싱글톤이기 때문에 값은 유지가 된다

전략적으로 사용해야하거나 or 멤버션수가 없는 객체
DAO


DTO : 얘는 딴 설정씀 ㅋㅅㅋ

8. <bean>태그의 다양한 속성
<bean class="" id="" init-mathod="initMethod"/>
생성자 역할을 해줄 메서드를 new하는 타이밍에 호출할 수 있음
== 멤버변수 초기화 역할을 해줄 메서드
<bean class="" id ="" lazy-init="true"/>
지연 로딩 방식
모든 <bean>은 컨테이너 구동시점에 new됨
해당 객체를 사용하는 시점에 new하고 싶을때에 작성
== 클라이언트(Client, 브라우저, 사용자)가 호출하는 시점
<bean class="" id="" scope="singleton"/>
<-> <bean class="" id="" scope="prototype"/>
해당 객체를 사용할때마다 새로 new 하고 싶을때에 작성

'Spring' 카테고리의 다른 글

Spring DI  (1) 2024.03.01
Spring 설치  (0) 2024.02.29
컨테이너  (0) 2024.02.25
결합도(Coupling)  (0) 2024.02.21
프레임워크란  (0) 2024.02.19