博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring4的新特性---泛型注入
阅读量:4592 次
发布时间:2019-06-09

本文共 1920 字,大约阅读时间需要 6 分钟。

废话不多说,直接上代码

一.写一个实体类

package generic;import java.io.Serializable;public class User implements Serializable{	/**	 * 	 */	private static final long serialVersionUID = 1L;		private String name;		private int age;	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}}

二.公共DAO:BaseDao(crud都写在这里)

package generic;public abstract class BaseDao
{ public void save(T t){ System.out.println("....."); } public void delete(){ System.out.println("...."); }}

三.DAO的具体实现:UserDa继承BaseDao

package generic;import org.springframework.stereotype.Repository;@Repository("userDao")public class UserDao extends BaseDao
{ }

四.公共Service:BaseService(这里写一些公共方法和一个抽象方法,抽象方法为了获取BaseService的具体实现)

package generic;public abstract class BaseService
{ public abstract BaseDao
getBaseDao(); public void save(T t){ getBaseDao().save(t); } }

五.写BaseService的具体实现:UserService并继承BaseService

package generic;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;@Service("userService")public class UserService extends BaseService
{ @Autowired private UserDao userDao; @Override public BaseDao
getBaseDao() { return userDao; }}

 其中第四步和第五步是以前的写法,Spring4的新泻法如下:

 新四:

package generic;import org.springframework.beans.factory.annotation.Autowired;public abstract class BaseService
{ @Autowired private BaseDao
baseDao; public void save(T t){ baseDao.save(t); }}

新五:

package generic;import org.springframework.stereotype.Service;@Service("userService")public class UserService extends BaseService
{ }

大家可以看到现在的代码非常简洁,在步骤新四中,注入的时候spring会去自动去找BaseDao<User>的子类实现并注入

 

转载于:https://www.cnblogs.com/shaoyang/p/6860364.html

你可能感兴趣的文章
gui编程实践(3)--记事本界面 JMenuBar JMenu
查看>>
黑马程序员--抽象类与接口
查看>>
IaaS,PaaS,SaaS 的区别
查看>>
Python复习基础篇
查看>>
关于Cocos2d-x中背景音乐和音效的添加
查看>>
.Net持续集成 —— Jenkins+Git+WebDeploy
查看>>
01_Numpy基本使用
查看>>
checkbox和文字对齐
查看>>
JConsole远程连接配置 服务器监控工具
查看>>
了解HTTP协议栈(实践篇)
查看>>
loj10035. 「一本通 2.1 练习 1」Power Strings
查看>>
%s的用法
查看>>
调用底层不能直接访问的类和方法
查看>>
清理缓存的方法 #DF
查看>>
JAVA array,map 转 json 字符串
查看>>
2017-12-27练习
查看>>
NET设计规范(二) 命名规范
查看>>
VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2
查看>>
SSL延迟
查看>>
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>