spring之IOC練習
jar包
applicationContext.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:spring建立的(UserDaoImpl)物件例項
id 或name都是給物件起名字,
class:指定建立哪個物件的例項
-->
<bean name="userservice" class="com.spring.quickstart.UserServiceImpl"/>
<bean name="userdao" class="com.spring.quickstart.UserDaoImpl"/>
</beans>
表現層:
package com.spring.quickstart
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class SpringTest {
@Test
public void login(){
//UserService service = new UserServiceImpl();
//使用spring ioc控制建立例項
//spring工廠,也稱spring容器,或者叫bean容器
ApplicationContext applicationContext =
new FileSystemXmlApplicationContext("src/ApplicationContext.xml");
UserService service = (UserService) applicationContext.getBean("userservice");
service.login();
}
}
業務層:
package com.spring.quickstart;
public interface UserService {
void login();
}
package com.spring.quickstart;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class UserServiceImpl implements UserService {
public void login() {
//獲取配置檔案的兩種方式
//ApplicationContext applicationContext =
//new FileSystemXmlApplicationContext("src/ApplicationContext.xml");
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("ApplicationContext.xml");
UserDao dao =(UserDao) applicationContext.getBean("userdao");
//UserDao dao = new UserDaoImpl();
dao.login();
}
}
持久層:
package com.spring.quickstart;
public class UserDaoImpl implements UserDao {
public void login() {
System.out.println("使用者登入了......");
}
}