首页 > 编程语言 > 详细

Spring - DI

时间:2019-05-16 14:47:31      阅读:108      评论:0      收藏:0      [点我收藏+]

1.介绍DI

DI就是依赖注入,有一个那么高大上的词,其实就是为一个类添加一些属性,但是这个属性的实例就靠spring在来注入

 

2.HelloWorld

这里有5个java文件一个xml文件,基本思路,客户端调用服务实现接口的addUser方法,添加一个用户,添加用户需要把数据保存在数据库,所以服务实现类里面new一个UserDao,然后调用UserDao去执行createUser的操作

  • UserDao - 用户持久化接口
  • UserDaoImpl - 用户持久化实现类
  • UserService - 服务接口
  • UserServiceImpl - 服务实现类
  • UserServiceTest - 测试文件
  • springConfig.xml - spring配置文件

UserDao

public interface UserDao {
    void createUser();
}

 

UserDaoImpl

public void createUser() {
        System.out.println("创建一个新的用户");
        
    }

 

UserService

public interface UserService {

    /**
     * 添加用户
     */
    void addUser();
}

 

UserServiceImpl

public class UserServiceImpl implements UserService{

    private UserDao userDao;
    
    /**
     * 实现接口方法
     */
    public void addUser() {
        userDao.createUser();
    }
    
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }
    public UserDao getUserDao() {
        return userDao;
    }
}

 

UserServiceTest

public class UserServiceTest {

    @Test
    public void test() {
        //以前
//        UserService userService = new UserServiceImpl();
//        userService.addUser();
        
        /**
         * spring的写法,这是一个工厂类,这里有一个参数,参数对应配置文件的classpath位置,src为根目录
         */
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("/com/test/spring/di/springConfig.xml");
        
        //这里的参数为 配置文件中 bean id,意思就是获取 对应id实例对象
        UserService us_1 = (UserService)context.getBean("userServiceBean");
        us_1.addUser();
        
    }

 

springConfig.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-4.3.xsd">
         
         <!-- 创建bean -->
        <bean id="userServiceBean" class="com.test.spring.di.UserServiceImpl">
            <!-- 注入参数,name是对应实现类中的 参数名,ref是对应bean的ID -->
            <property name="userDao" ref="userDaoBean"></property>
        </bean>
        <!-- 创建bean -->
        <bean id="userDaoBean" class="com.test.spring.di.UserDaoImpl"></bean>
</beans>

 

3. 其它的参数

Spring - DI

原文:https://www.cnblogs.com/oscar1987121/p/10875137.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!