Ex4MySome
package ex2;
public class Ex4MySome {
private String msg;
public void setMsg(String msg) {
this.msg = msg;
}
public String someMessage() {
return msg;
// 의존성에서 보내줄 헤즈어관계에서 값을 보낼 데이터를 가진 객체다.
}
}
Ex4_SomeRef
package ex2;
public class Ex4_SomeRef {
private Ex4MySome some;
//받을 준비 된 상태다
public void setSome(Ex4MySome some) {
this.some = some;
}
public String send() {
return some.someMessage();
//의존성 사용
}
}
======================================================
ex4_di.xml
<?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">
<bean id="MySome" class="ex2.Ex4MySome">
<property name="msg" value="msg연습문제"></property>
</bean>
<bean id="SomeRef" class="ex2.Ex4_SomeRef">
<property name="some" ref="MySome"></property>
</bean>
</beans>
<!-- bean id랑 class는 만들고 싶은 객체 클래스엔 클래스가 들어간다. -->
<!-- property 값을 넣을때 해당 class에 set가 있을때 name은 set변수(단축키) value 넣어줄 값 ref는 객체일때-->
<!-- <constructor-arg>생성자에 값을 넣을때 쓰는 태그 -->
===============================================================
Ex4Servlet.java
package ex2;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
@WebServlet("/ex4Servlet")//통켓이 해당 서블릿을 이동하기 위해서 어노테이션 통켓 보고 가라는 뜻
public class Ex4Servlet extends HttpServlet{
private ApplicationContext ctx;//스프링 컨테이너
@Override
public void init() throws ServletException {//서블릿 한번당 1번만 생성하기 위해서 init메서드
ctx=new GenericXmlApplicationContext("ex2/ex4_di.xml");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// class 변수명 =ctx.getBean("bean태그의 Id 값",받는 객체명.class);
Ex4_SomeRef ref= ctx.getBean("SomeRef",Ex4_SomeRef.class);//<bean에 잇는 값을 호출하기위해서
String res=ref.send();//res로 메서드값 반환
req.setAttribute("res", res);
req.getRequestDispatcher("ex4Servlet.jsp").forward(req, resp);
//굉장히 중요하다.
}
}
====================================================================================
ex4Servlet.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
${res }
</body>
</html>
=====================================================================================