1. 程式人生 > >spring之IOC練習

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("使用者登入了......");
}
}