일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- spring#Spring#RequestBody#ResponseBody
- #
- 자바#Java#배열예시#연습#기초다지기
- Java#java#메모리영역#클래스로더#가비지컬렉터
- Java#컴파일러#자바컴파일러#
- 항해99 #항해플러스 #주니어개발자 #주니어개발자역량강화 #주니어개발자멘토링 #개발자사이드프로젝트 #코딩부트캠프 #코딩부트캠프후기
- #java#JAVA#프로그래밍#웹개발자
- 국비지원#국비교육#국비지원자바#국비교육자바#css#HTML#JAVA
- IntelliJ#인텔리제이#인텔리#단축키
- 국비지원JAVA#국비교육JAVA#국비지원자바#국비교육자바#JSP#SERVLET#서블릿#
- 개발자도서#개발자책#도메인#DDD#도메인주도개발시작하기#개발스터디#
- 국비지원JAVA
- Java#java#자바#다오#디티오#브이오#dao#dto#vo
- Java#정처기#비트연산자#정보처리기사
- 항해플러스#항해#항해플러스3기#회고
- db#데이터베이스#오라클#sql
- Resource #
- Java#JAVA#매개변수
- 개발자#it도서#도메인#DDD#ddd
- Spring#spring#스프링#스프링프레임워크#스프링자동주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- 쿼리스트링#쿼리문자열#바인딩
- java
- 국비지원#국비교육
- tibero#티베로#이중화#failvover
- Spring#spring#스프링#스프링프레임워크#스프링의존성주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- 국비지원JAVA#국비지원자바#프로그랭#JSP#국비지원JSP#국비교육JSP#웹개발자#코딩
- 프로그래밍
- 국비지원자바#국비교육자바#국비지원java#국비교육java#자바스크립트#프론트엔드
- html#HTML#프론트엔드#개발자#코딩#국비지원#국비교육#국비지원프론트엔드#국비지원HTML#국비지원html#국비프론트엔드
- 자바
Archives
- Today
- Total
개린이 개발노트
[Spring] 스프링 빈(bean) 객체 생성하는 법 본문
728x90
class: 객체를 생성하기 위해 사용할 클래스를 지정한다.
id: Bean 객체를 가져오기 위해 사용하는 이름을 저장한다.
lazy-init: 싱글톤인 경우 xml을 로딩할 때 객체 생성 여부를 설정한다. true: xml로딩 시 객체를 생성하지 않고 객체를 가져올 때 생성한다.
scope: 객체의 범위를 설정한다.
slingeton: 객체를 하나만 생성해서 사용
prototype: 객체를 가져올 때 마다 객체를 생성한다.
package sanghoon.main;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import sanghoon.beans.TestBean;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
ClassPathXmlApplicationContext ctx= new ClassPathXmlApplicationContext("sanghoon/config/beans.xml");
// id가 test1인 bean 객체의 주소값을 받아온다.
TestBean t1 = ctx.getBean("test1",TestBean.class);
System.out.printf("t1:%s\n", t1);
TestBean t2 = ctx.getBean("test1",TestBean.class);
System.out.printf("t2:%s\n", t2);
//id가 test2인 bean 객체의 주소값을 받아온다.
TestBean t3 = ctx.getBean("test2", TestBean.class);
System.out.printf("t3:%s\n", t3);
TestBean t4 = ctx.getBean("test2", TestBean.class);
System.out.printf("t4:%s\n", t4);
//id가 test3인 bean 객체의 주소값을 받아온다.
TestBean t5 = ctx.getBean("test3",TestBean.class);
System.out.printf("t5:%s\n", t5);
TestBean t6 = ctx.getBean("test3",TestBean.class);
System.out.printf("t6:%s\n", t6);
ctx.close();
}
}
package sanghoon.beans;
public class TestBean {
public TestBean() {
System.out.println("TestBean의 생성자");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- xml을 로딩할 때 자동으로 객체가 생성된다. -->
<bean class = 'sanghoon.beans.TestBean'/>
<!-- xml을 로딩할 때 자동으로 객체가 생성됨 -->
<!-- id 속성에 이름을 부여하면 getBean 메서드를 통해 객체의 주소값을 받아 사용할 수 있다. -->
<!-- 생성된 객체는 더이상 생성되지 않는다.싱글톤 -->
<bean id='test1' class = 'sanghoon.beans.TestBean'/>
<!-- lazt-init:true - xml을 로딩할 때 객체가 생성안됨(생략하면false) -->
<!-- getBean 메서드를 호출할 때 객체가 생성되며 singleton이기 때문에 객체는 하나만 생성된다. -->
<bean id ='test2' class = 'sanghoon.beans.TestBean' lazy-init="true"/>
<!--scope:prototype - xml을 로딩할 때 객체가 생성되지않는다.-->
<!--getBean 메서드를 호출할 때 마다 새로운 객체를 생성해서 반환한다. -->
<bean id ='test3' class = 'sanghoon.beans.TestBean' scope='prototype'/>
</beans>
Spring 에서는 프로그램에서 사용할 객체를 bean configuration 파일에 정의하여 사용
728x90
'스프링Spring' 카테고리의 다른 글
[Spring] 스프링 BeanPostProcessor (0) | 2023.01.12 |
---|---|
[Spring] 스프링 빈(bean) 객체의 생명주기 (0) | 2023.01.10 |
[Spring]스프링 빈 등록 xml 작성할 경우 포멧 , 스프링xml태그, 스프링 bean 태그 맘껏 복사 (0) | 2022.12.26 |
[Mybatis] 마이바티스 mybatis-config.xml 태그 컨피그 태그 (0) | 2022.12.20 |
[스프링]Spring Spring Form Tag 스프링 폼태그 (0) | 2022.12.17 |