1) xml 파일을 통해 bean 설정하기!

1-1

src/main/resources 안에 xml파일로 만든다

1-2

1-2-1 > xml를 선언해주는 코드를 넣어준다

더보기

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "https://www.springframework.org/dtd/spring-beans-2.0.dtd" >

1-2-2 >

<beans> 태그 안에 bean 으로

사용할 id를 적어주고

class에는 dto가 있는 파일경로를 입력해준다 

property name="" 변수 명 value 에 값을 입력하면 끝

사용법은 예시 1를 봐주세요

더보기

<!-- property태그의 name과 value속성으로 POJO에 대한 값을 지정할 수 있다. -->
<!-- name은 setter메서드가 있어야 동작한다. -->
<!-- 모양은 변수와 같지만 setter가 없으면 인식하지 않는다. -->

더보기

 

 

<beans>

<bean id="human1" class="com.spring.test.human">
<property name="IQ"  value="120"/>
<property name="age"    value="30살"/>
</bean>

</beans>


 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "https://www.springframework.org/dtd/spring-beans-2.0.dtd" >

<beans>
	<bean id="testManager" class="com.spring.di.TestManager"/>

	<bean id="human1" class="com.spring.test.human">
		<property name="IQ"  value="120"/>
		<property name="age"    value="30살"/>
	</bean>

</beans>

 

 

예시1

예시 1-1)

전체 코드 처럼 xml파일을 resuorces폴더안에 만들어 주세요

dto를 하나 만들어준다,  getter , setter 를 만들어준다

public class human {

	String IQ = "1";
	String age = "1살";
	
	
	public String getIQ() {
		return IQ;
	}
	public void setIQ(String iQ) {
		IQ = iQ;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	
	
	
}

예시 1-2)

자바파일을 하나 더만들어 위에 만든 코드를 import하고 getter setter를 만든다   확인할 메소드를 만들어도 좋다

public class TestManager {

	
	Human human;

	public Human getHuman() {
		return human;
	}

	public void setHuman(Human human) {
		this.human = human;
	}
	
		public void print() {
		
		System.out.println("IQ : " + human.IQ + "AGE : "+ human.age );
	}
	
}

예시 1-3)

새로 자바파일을 만들어주고 

@controller의 권한을 주고 

더보기

ApplicationContext context = new GenericXmlApplicationContext("classpath:test.xml");

("") 안에 classpath 는 resources 파일안을 검색하고 그안에 test.xml파일을 가져오는 것이다


더보기

TestManager testManager = (TestManager)context.getBean("testManager");

Human human1 = context.getBean("human1",Human.class);

위에 선언한 2개의 문법은 같은 문법인데 저렇게 두가지로 쓸 수 있다  예를 들어 아래 처럼 사용이 가능하다

더보기

context.getBean("testManager",TestManager.class);


 

@Controller
@RequestMapping("tt")
public class test {

	
	@RequestMapping(value = "/test1" , method = RequestMethod.GET)
	public String print() {
		
	ApplicationContext context = new GenericXmlApplicationContext("classpath:test.xml");
	
	TestManager testManager = (TestManager)context.getBean("testManager");
	
	Human human1 = context.getBean("human1",Human.class);
	
	
	testManager.setHuman(human1);
	testManager.print();
	
	return "home";
	
	}
	
	
	
	
}

 

결과는 

 

 

복사했습니다!