先看一个Spring的最基本使用
LoginService.java
public class LoginService {
public void login() {
System.out.println("execute LoginService");
}
}
public class LoginResource {
private LoginService loginService;
public LoginService getLoginService() {
return loginService;
public void setLoginService(LoginService loginService) {
this.loginService = loginService;
}
public void login() {
loginService.login();
}
}
applicationgContext.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd ">
<bean id="loginService" name="loginService" class="spring.LoginService"/>
<bean id="loginResource" name="loginResource" class="spring.LoginResource">
<property name="loginService" ref="loginService"/>
</bean>
</beans>
TestClient.java
public class TestClient {
@Test
public void test() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationgContext.xml");
LoginResource loginResource = (LoginResource) applicationContext.getBean("loginResource");
loginResource.login();
}
}
概括性描述Spring的操作:
applicationgContext.xml
,将xml中定义的bean解析成Spring内部的BeanDefinition 以上只是一个简单的描述,具体实现过程还是很复杂的,后续将深入源码分析实现,如有错误之处还请不吝赐教!