作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用泛型合并这两个方法,唯一的区别是转换类“ServicesBO”和“ServicesDAO”。 bean 的名称可以作为字符串参数传递。是否可以使用类型转换类的泛型来合并它们?
private void getFieldBO(){
ServicesBO services = (ServicesBO)appContext.getBean("ServicesBo");
List<users> list = services.getUsers();
for (users user: list)
System.out.println("BO: " + user.getName());
}
private void getFieldDAO(){
ServicesDAO services = (ServicesDAO)appContext.getBean("ServicesDAO");
List<users> list = services.getUsers();
for (users user: list)
System.out.println("DAO: " + user.getName());
}
提前致谢查克。
最佳答案
如果没有 ServicesDao 和 ServicesBO 都实现的通用接口(interface),您将无法在没有反射的情况下调用 getUsers。
因此假设您有一个通用接口(interface):
public interface UserProvider {
List<User> getUsers();
}
您可以按如下方式定义该方法:
private void printUsers(String beanName) {
UserProvider provider = appContext.getBean(beanName, UserProvider.class);
List<User> users = provider.getUsers();
for (User user : users)
System.out.println("DAO:" + user.getName());
}
其他一些事情:
希望有帮助。
关于java - Spring 的泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7018986/
我是一名优秀的程序员,十分优秀!