javazx 发表于 2015-10-30 20:46:28

【spring技术】什么是泛型依赖注入?

如果你正在学习spring语言,并且是最新的spring4.x,那么我相信你应该知道这个名词“泛型依赖注入”,这就是spring4.0中的一个新特性(在spring语言的2.x和3.x中是的确不存在的概念),那么也许你想问到底什么是spring中的泛型依赖注入呢?

可以看我写得代码,相信你会从中找到感觉的。

1、eclipse中建立一个java project工程就好了
2、加入spring相关jar包


3、src下建立spring配置文件,我这里叫作:beans-generic-di.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" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
        <context:component-scan base-package="com.javazx.beans.generic.di"></context:component-scan>
</beans>


4、建立BaseRespository类:
package com.javazx.beans.generic.di;
/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年10月30日 下午8:05:03
* @description 描述:
*
*/
public class BaseRespository<T> {

}


5、建立BaseService类:
package com.javazx.beans.generic.di;

import org.springframework.beans.factory.annotation.Autowired;

/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年10月30日 下午8:05:28
* @description 描述:泛型依赖注入
*
*/

public class BaseService<T> {
        @Autowired
        private BaseRespository<T> baseRespository;

        public void add() {
                System.out.println("add...");
                System.out.println(baseRespository);
        }
}


6、建立UserRespository类:
package com.javazx.beans.generic.di;

import org.springframework.stereotype.Repository;

/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年10月30日 下午8:15:37
* @description 描述:
*
*/
@Repository
public class UserRespository extends BaseRespository<User> {

}


7、建立UserService类:
package com.javazx.beans.generic.di;

import org.springframework.stereotype.Service;

/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年10月30日 下午8:12:04
* @description 描述:
*
*/
@Service
public class UserService extends BaseService<User>{

}


8、建立User 类:
package com.javazx.beans.generic.di;
/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年10月30日 下午8:12:11
* @description 描述:
*
*/
public class User {

}


9、最后建立测试类:
package com.javazx.beans.generic.di;

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

/**
*
* @author 作者 :javazx.com
* @version 创建时间:2015年10月30日 下午8:19:15
* @description 描述:
*
*/
public class Main {

        private static ApplicationContext ac;

        public static void main(String[] args) {
                ac = new ClassPathXmlApplicationContext(
                                "beans-generic-di.xml");
                UserService uc = (UserService) ac.getBean("userService");
                uc.add();
        }

}


10、运行main方法就可以了啊!相信你对spring泛型依赖注入应该有所了解了吧,如果还有哪些疑问,请直接回帖。







背包走的缓慢 发表于 2016-11-20 16:41:50

不错好资源 可以用
页: [1]
查看完整版本: 【spring技术】什么是泛型依赖注入?