KIC/Spring
day61 - Spring Framework(스프링, DI)
바차
2021. 9. 10. 00:11
반응형
[Container3.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="user1" class="di03.User">
<constructor-arg value="bkchoi" />
<constructor-arg value="1234" />
</bean>
<bean id="user2" class="di03.User">
<constructor-arg value="madvirus" />
<constructor-arg value="qwer" />
</bean>
<bean id="userRepository" class="di03.UserRepository">
<property name="users">
<list>
<ref bean="user1" />
<ref bean="user2" />
</list>
</property> </bean>
<bean id="pwChangeSvc"
class="di03.PasswordChangeService">
<constructor-arg><ref bean="userRepository"/></constructor-arg>
</bean>
<bean id="authFailLogger" class="di03.AuthFailLogger">
<property name="threshold" value="2"/>
</bean>
<bean id="authenticationService" class="di03.AuthenticationService">
<property name="failLogger" ref="authFailLogger"/>
<property name="userRepository" ref="userRepsitory" />
</bean>
</beans>
[user.java]
package di03;
public class User {
private String id;
private String password;
public User(String id, String password) {
super();
this.id = id;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package di03;
public class User {
private String id;
private String password;
public User(String id, String password) {
super();
this.id = id;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package di03;
public class User {
private String id;
private String password;
public User(String id, String password) {
super();
this.id = id;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
[UserRepository.java]
package di03;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UserRepository {
private Map<String, User> userMap = new HashMap<String, User>();
public void setUsers(List<User> users) {
for(User u : users) {
userMap.put(u.getId(), u);
}
}
}
[AuthFailLogger.java]
package di03;
public class AuthFailLogger {
private int threshold;
public void setThreshold(int threshold) {
this.threshold = threshold;
}
}
[AuthenticationService.java]
package di03;
public class AuthenticationService {
AuthFailLogger authFailLogger;
UserRepository userRepository;
public void setFailLogger(AuthFailLogger authFailLogger) {
this.authFailLogger = authFailLogger;
}
public void setUserRepository(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
300x250