springMVC 使用注解注入接口实现类
2015-07-23 12:25
711 查看
1.比如有一个接口如下:
public interface UserDao {
public User getUser(User user);
public List<User> getUserAll();
public Page<User> findPageUserByIntegrateds(Page<User> page, Map<String, Object> conditions);
}
2.有如下接口实现类:
public class UserDaoImpl extends BaseJPADao<User, Long> implements UserDao{
/**
*
*/
public User getUser(User user) {
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("username", user.getUsername());
userMap.put("mm", user.getMm());
return findUniqueBy(userMap);
}
3.使用方式:在接口实现类定义位置添加注解 @Service("userDao"),如下:
@Service("userDao")
public class UserDaoImpl extends BaseJPADao<User, Long> implements UserDao{
/**
*
*/
public User getUser(User user) {
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("username", user.getUsername());
userMap.put("mm", user.getMm());
return findUniqueBy(userMap);
}
4.在需要注入的地方使用如下方式引入:
@Autowired
@Qualifier("userDao")
private UserDao userDao;
注意:
1.在引用实现类的使用,使用的是实现类的接口(这是因为 springMVC 代理的接口)。
2.在引用实现类的时候,需要使用@Qualifier 注解,注明使用哪个名称的实现类(用来区分哪一个实例)。
public interface UserDao {
public User getUser(User user);
public List<User> getUserAll();
public Page<User> findPageUserByIntegrateds(Page<User> page, Map<String, Object> conditions);
}
2.有如下接口实现类:
public class UserDaoImpl extends BaseJPADao<User, Long> implements UserDao{
/**
*
*/
public User getUser(User user) {
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("username", user.getUsername());
userMap.put("mm", user.getMm());
return findUniqueBy(userMap);
}
3.使用方式:在接口实现类定义位置添加注解 @Service("userDao"),如下:
@Service("userDao")
public class UserDaoImpl extends BaseJPADao<User, Long> implements UserDao{
/**
*
*/
public User getUser(User user) {
Map<String, Object> userMap = new HashMap<String, Object>();
userMap.put("username", user.getUsername());
userMap.put("mm", user.getMm());
return findUniqueBy(userMap);
}
4.在需要注入的地方使用如下方式引入:
@Autowired
@Qualifier("userDao")
private UserDao userDao;
注意:
1.在引用实现类的使用,使用的是实现类的接口(这是因为 springMVC 代理的接口)。
2.在引用实现类的时候,需要使用@Qualifier 注解,注明使用哪个名称的实现类(用来区分哪一个实例)。
相关文章推荐
- (转)socket传文件
- springMVC中微信公众平台开发
- Java语言系列02——Lexical Grammar (词法)介绍
- springmvc拦截器启动报错
- JAVA中通过代码操作PC内容进行功能的实现
- Java语言系列01——索引
- 刚学的Struts2的一些结构
- java中清空session
- inner class DEMO(quote from Head First Java 2e)
- JavaIO之删除指定目录(递归删除,先删除目录下的文件再删除目录)
- java null
- Eclipse jetty
- java中sleep()和wait()的区别?
- struts2 ajax jsonp跨域
- 中文化和国际化问题权威解析之四:Java中文化和国际化攻略
- 中文化和国际化问题权威解析之三:Java中文问题分析
- 中文化和国际化问题权威解析之二:Java国际化基础
- 如何准确判断邮件地址是否存在
- 贝叶斯的JAVA分类器实现
- Java设计模式 Bridge(桥接)Adapter,command,State,Mediator,Facade