您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
09-Spring练习-角色列表展示-service和dao层实现
发布时间:2025-01-07 21:13:27编辑:雪饮阅读()
-
继上篇我们实现上篇中没有完成的RoleController控制器,在RoleService类型的时候在intelliJ IDEA是报红色的,鼠标悬停上面在More actions…里面可以看到
Create class ‘RoleService’
这样就可以快速建立该类型,但我们最终应该以interface,而不是class,建立后修改class为interface即可。
那么再接下来我们在list方法也是报红的,我们悬停其上Create method ‘list’ in ‘RoleService’也能快速建立list方法于上面的接口中。
那么最终该接口如:
package sp21.service;
import sp21.domain.Role;
import java.util.List;
public interface RoleService {
List<Role> list();
}
再就是纠正下当前控制器中自身的list方法里面
setView应该是修改为setViewName,不然就是传递view而不是view的名称的字符串,修改后如:
@RequestMapping("/list")
public ModelAndView list(){
ModelAndView modelAndView=new ModelAndView();
List<Role> roleList=roleService.list();
modelAndView.addObject("rolelist",roleList);
modelAndView.setViewName("role-list");
return modelAndView;
}
然后再就是上面接口的具体实现类
package sp21.service.impl;
import sp21.domain.Role;
import sp21.service.RoleService;
import java.util.List;
public class RoleServiceImpl implements RoleService {
private RoleDao roleDao;
public void setRoleDao(RoleDao roleDao) {
this.roleDao = roleDao;
}
public List<Role> list() {
List<Role> roleList=roleDao.findAll();
return roleList;
}
}
同样这里的RoleDao也是伪类型,没有具体的定义,同样鼠标悬停其上在More actions…里面可以看到Create interface ‘RoleDao’,其实一开始上面第一次创建接口的时候就可以参考这个,没有细心的看到这个,这样以来就直接创建了,不用修改class为interface了

不过我们创建的话,就创建在dao层吧。那么用前面的方法我们再次快速创建出findAll方法。那么最终这RoleDao接口定义如:
package sp21.dao;
import sp21.domain.Role;
import java.util.List;
public interface RoleDao {
List<Role> findAll();
}
然后再将这个RoleDao的具体实现类定义出来:
package sp21.dao.impl;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import sp21.dao.RoleDao;
import sp21.domain.Role;
import java.util.List;
public class RoleDaoImpl implements RoleDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public List<Role> findAll() {
List<Role> roleList = jdbcTemplate.query("select * from sys_role", new BeanPropertyRowMapper<Role>(Role.class));
return roleList;
}
}
关键字词:Spring,练习,service,dao,角色列表