Spring 泛型依赖注入?spring泛型注入原理

Spring 泛型依赖注入Spring 泛型依赖注入,是利用泛型的优点对代码时行精简,将可重复使用的代码全部放到一个类之中,方便以后的维护和修改,同时在不增加代码的情况下增加代码的复用

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

(0)
CSDN's avatarCSDN
上一篇 2024年7月5日 上午11:52
下一篇 2024年7月5日 上午11:52

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注