SpringIOC 용기 - 대상 의존

개술
Spring 에서 대상 의 속성 값 을 어떻게 부여 합 니까? [DI, 주입 의존] 1) 구조 함수 2) set 방법 으로 속성 주입 값 3) p 명칭 공간 4) 자동 조립 5) 주해
1.1 구조 함수 통과
<!-- ###############      ############### -->
	<!--  1)        -->
	<bean id="user1" class="cn.itcast.c_property.User" scope="prototype">
		<constructor-arg value="100"></constructor-arg>
		<constructor-arg value="Tom"></constructor-arg>
	</bean>

1.2 (상용) Set 방법 주입 값
<!-- dao instance -->
	<bean id="userDao" class="c_property.UserDao"></bean>

	<!-- service instance -->
	<bean id="userService" class="c_property.UserService">
		<property name="userDao" ref="userDao"></property>
	</bean>
	
	<!-- action instance -->
	<bean id="userAction" class="c_property.UserAction">
		<property name="userService" ref="userService"></property>
	</bean>

User.java
public class User {

	private int id;
	private String name;
	
	//////////////////  -->          
	public void setId(int id) {
		this.id = id;
	}
	// //-->          
	public void setName(String name) {
		this.name = name;
	}
	
	////////////////
	public int getId() {
		return id;
	}
	
	public String getName() {
		return name;
	}
	
	
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + "]";
	}
	
	public User() {
		super();
		System.out.println("------User    【      】------");
	}
	
	public User(int id, String name) {
		System.out.println("-----User    【      】--------");
		this.id = id;
		this.name = name;
	}

	public void init_user() {
		System.out.println("      ,   ");
	}
	public void destroy_user() {
		System.out.println("IOC    ,user    !");
	}
	
}

UserAction.java
public class UserAction {

	// Service: springIOC    
	private UserService userService;
	public void setUserService(UserService userService) {
		this.userService = userService;
	}
	

	public String execute() {
		userService.save();
		return null;
	}
}

UserService.java
public class UserService {
	
	private UserDao userDao; // = new UserDao();
	// IOC:       spring       
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	public void save() {
		userDao.save();
	}
}

UserDao.java
public class UserDao {

	public void save() {
		System.out.println("zmiagen:    ");
	}
}

1.3 내부 콩
<!-- ##############  bean############## -->
	<bean id="userAction" class="c_property.UserAction">
		<property name="userService">
			<bean class="c_property.UserService">
				<property name="userDao">
					<bean class="c_property.UserDao"></bean>
				</property>
			</bean>
		</property>
	</bean>

좋은 웹페이지 즐겨찾기