Spring 的泛型依赖注入利用泛型来简化你的代码,并将所有可重用的代码放在一个类中,使将来的维护和更改更容易,同时使你可以更轻松地添加更多代码,而无需添加更多代码。
示例代码:
创建实体类
产品
包test.spring.model;
公开课产品{
私有int ID;
私有字符串名称。
/* Setter getter 省略*/
@覆盖
公共字符串toString() {
return \’产品[id=\’ + id + \’, name=\’ + name + \’]\’;
}
用户包test.spring.model;
公共类用户{
私有int ID;
私有字符串名称。
/* setter 和getter 被省略*/
@覆盖
公共字符串toString() {
return \’用户[id=\’ + id + \’, name=\’ + name + \’]\’;
}
公共用户(){
精彩的();
}
创建Dao层相关接口和实现类
创建一个BaseDao类,提取dao层的相同功能并包含用于共享的泛型。包test.spring.Dao;
导入org.springframework.stereotype.Repository。
/*BaseService中引用了该类,所以我们需要添加注解将BaseDao注入到Spring容器中*/
@存储库
公共类BaseDaoT {
公共无效添加(T t){
System.out.println(\’BaseDao.\’+t);
}
}
UserDao接口包test.spring.Dao;
导入test.spring.model.User。
公共接口UserDao {
公共无效添加(用户用户);
}
UserDao实现类
包test.spring.Dao;
导入org.springframework.stereotype.Repository。
导入test.spring.model.User。
@Repository(\’userDaoImpl\’)
公共类UserDaoImpl 扩展BaseDaoUserimplemented UserDao {
}
ProductDao接口
包test.spring.Dao;
导入test.spring.model.Product。
公共接口ProductDao {
公共无效添加(产品专业);
ProductDao实现类
包test.spring.Dao;
导入org.springframework.stereotype.Repository。
导入test.spring.model.Product。
@repository(\’productDao\’)
公共类ProductDaoImpl 扩展BaseDaoProductimplemented ProductDao {
}
Spring配置?xml版本=\’1.0\’编码=\’UTF-8\’?
豆xmlns=\’http://www.springframework.org/schema/beans\’
xmlns:xsi=\’http://www.w3.org/2001/XMLSchema-instance\’
xmlns:context=\’http://www.springframework.org/schema/context\’
xsi:schemaLocation=\’http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd\’
context:component-scan base-package=\’test.spring\’ /context:component-scan
/beans测试包testSpring;
导入org.junit.Test。
导入org.springframework.context.ApplicationContext。
导入org.springframework.context.support.ClassPathXmlApplicationContext。
导入test.spring.model.Product。
导入test.spring.model.User。
导入test.spring.service.ProductService。
导入测试.spring.service.UserService;
公共类TestSpring {
@测试
公共无效测试用户(){
ApplicationContext ac=new ClassPathXmlApplicationContext(\’applicationContext.xml\’);
UserService userService=(UserService) ac.getBean(\’userService\’);
userService.add(new User());
System.out.println(\’—————————-\’);
ProductService proService=(ProductService) ac.getBean(\’prodcutService\’);
proService.add(新产品());
}
} 结果:
以上#Spring通用依赖注入相关内容来源仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93117.html