Spring IOC 基本操作

实验目的:

1.掌握spring框架的搭建与配置

2.理解spring中的 IOC 和 DI 思想

3.掌握ApplicationContext容器的使用

4.掌握属性setter方法注入的实现

实验任务1:创建项目,引入JAR包
在idea中,创建一个名为spring01的项目,将spring的4个基础包以及commons-logging的JAR包导入,如图所示。

实验任务2:配置spring框架配置文件
在src目录下,创建spring的配置文件applicationContext.xml,并在配置文件中创建一个id为userDao的Bean。代码如下。

<?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-4.3.xsd">

   <bean id="userDao" class="com.hxci.jianzhu.ioc.impl.UserDaoImpl"></bean>
   <bean id="userService" class="com.hxci.jianzhu.ioc.impl.UserServiceImpl">
      <property name="userDao" ref="userDao"/>
   </bean>
</beans>

实验任务3:创建UserDao接口

在scr目录下,创建一个com.hxci.ioc包,并在包中创建接口UserDao,然后在接口中定义一个say()方法。代码如下。

package com.hxci.jianzhu.ioc;

public interface UserDao {
    public void say();
}
实验任务4:创建接口实现类UserDaoImpl
在com.hxci.ioc包下,创建UserDao接口的实现类UserDaoImpl,该类需要实现接口中的say()方法,并在方法中编写一条输出语句。代码如下。

package com.hxci.jianzhu.ioc.impl;

import com.hxci.jianzhu.ioc.UserDao;

public class UserDaoImpl implements UserDao {

    @Override
    public void say() {
        System.out.println("userDao say hello World!");
    }
}
实验任务5:创建IOC测试类
在com.hxci.ioc包下,创建测试类TestIoc,并在类中编写main()方法,初始化spring容器,加载配置文件,通过spring容器获取userDao实例,最后调用实例中say()方法,代码如下。

package com.hxci.jianzhu.ioc;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
    public static void main(String[] args){
        ApplicationContext applicationContext= new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        UserDao userDao = (UserDao)applicationContext.getBean("userDao");
        userDao.say();

    }
}

实验任务6:创建service接口
在com.hxci.ioc包下,创建UserService,在接口中写一个say()方法,代码如下。

package com.hxci.jianzhu.ioc;

    public interface UserService {
        public void say();
}
实验任务7:创建接口实现类UserServiceImpl
在com.hxci.ioc包下,创建UserService接口的实现类UserServiceImpl,在类声明userDao属性,并添加属性的setter方法。代码如下。

package com.hxci.jianzhu.ioc.impl;

import com.hxci.jianzhu.ioc.UserDao;
import com.hxci.jianzhu.ioc.UserService;

public class UserServiceImpl implements UserService {

    private UserDao userDao;
    public void setUserDao(UserDao userDao){
        this.userDao = userDao;
    }
    @Override
    public void say() {
        this.userDao.say();
        System.out.println("userService say hello World!");
    }
}
实验任务8:更改spring配置文件
在配置文件中aoolicationContext.xml中,创建一个id为userService的Bean,

该Bean用于实例化UserServiceImpl类的信息,并将userDao的实力注入到userService中。代码如下。

<bean id="userService" class="com.hxci.jianzhu.ioc.impl.UserServiceImpl">
   <property name="userDao" ref="userDao"/>
</bean>
实验任务9:创建ID测试类
在com.hxci.ioc包中,创建测试类TestDI,进行测试。代码如下。

package com.hxci.jianzhu.ioc;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestDI {
    public static void main(String[] args){
        ApplicationContext applicationContex= new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        UserService userService = (UserService)applicationContex.getBean("userService");
        userService.say();

    }
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值