部分功能实现代码
BlogService.java
@Autowired
private BlogDao blogDao;
@Override
public Page<Blog> listBlog(Pageable pageable) {
Page<Blog> page = blogDao.findAll(pageable);
return page;
}
@Override
public void deleteBlog(Long id) {
blogDao.deleteById(id);
}
TagService.java
@Service
public class TagService implements ITagService
{
@Autowired
private TagDao tagDao;
@Override
public Page<Tag> listTag(Pageable pageable) {
Page<Tag> page = tagDao.findAll(pageable);
return page;
}
@Override
public void deleteTag(Long id) {
tagDao.deleteById(id);
}
@Override
public void addTag(Tag tag) {
tagDao.save(tag);
}
@Override
public Tag getTag(Long id) {
return tagDao.getOne(id);
}
@Override
public void update(Long id, Tag tag) {
Tag tag1=tagDao.getOne(id);
BeanUtils.copyProperties(tag,tag1);
tagDao.save(tag1);
}
TypeService.java
@Service
public class TypeService implements ITypeService
{
@Autowired
private TypeDao typeDao;
@Override
public Page<Type> listType(Pageable pageable) {
Page<Type> page = typeDao.findAll(pageable);
return page;
}
@Override
public void deleteType(Long id)
{
typeDao.deleteById(id);
}
@Override
public void addType(Type type)
{
typeDao.save(type);
}
@Override
public Type getType(Long id)
{
return typeDao.getOne(id);
}
@Override
public void update(Long id, Type type) {
Type type1=typeDao.getOne(id);
BeanUtils.copyProperties(type,type1);
typeDao.save(type1);
}
UserService.java
@Service
public class UserService implements IUserService {
@Autowired
private UserDao userDao;
@Override
public User checkUser(String username, String password) {
return userDao.findByUsernameAndPassword(username,password);
}
}
BlogController.java
@Controller
@RequestMapping("admin/blogs")
public class BlogController
{
@Autowired
private IBlogService blogService;
@GetMapping
public String list(@PageableDefault(size = 5,sort = {"id"},direction = Sort.Direction.DESC) Pageable pageable, Model model)
{
Page<Blog> page=blogService.listBlog(pageable);
model.addAttribute("page",page);
return "admin/blogs";
}
@GetMapping("{id}/delete")
public String delete(@PathVariable Long id)
{
blogService.deleteBlog(id);
return "redirect:/admin/blogs";
}
}
LoginController.java
@Controller
@RequestMapping("/admin")
public class LoginController
{
@Autowired
private IUserService userService;
@GetMapping
public String toLogin()
{
return "admin/login";
}
@PostMapping("/login")
public String login(String username, String password, HttpSession session, RedirectAttributes redirectAttributes)
{
User user=userService.checkUser(username,password);
if (user!=null)
{
session.setAttribute("user",user);
return "admin/index";
}
else
{
redirectAttributes.addFlashAttribute("message","用户名和密码错误");
return "redirect:/admin";
}
}
@GetMapping("/logout")
public String logout(HttpSession session)
{
session.removeAttribute("user");
return "admin/login";
}
}
TagController.java
@Controller
@RequestMapping("admin/tags")
public class TagController
{
@Autowired
private ITagService tagService;
@GetMapping
public String list(@PageableDefault(size = 5,sort = {"id"},direction = Sort.Direction.DESC) Pageable pageable, Model model)
{
Page<Tag> page=tagService.listTag(pageable);
model.addAttribute("page",page);
return "admin/tags";
}
@GetMapping("{id}/delete")
public String delete(@PathVariable Long id)
{
tagService.deleteTag(id);
return "redirect:/admin/tags";
}
@GetMapping("input")
public String input(Model model)
{
model.addAttribute("tag",new Tag());
return "admin/tags-input";
}
@PostMapping("add")
public String add(Tag tag)
{
tagService.addTag(tag);
return "redirect:/admin/tags";
}
@GetMapping("{id}/toUpdate")
public String toUpdate(@PathVariable Long id,Model model)
{
Tag tag=tagService.getTag(id);
model.addAttribute("tag",tag);
return "admin/tags-input";
}
@PostMapping("update/{id}")
public String update(Tag tag,@PathVariable Long id)
{
tagService.update(id,tag);
return "redirect:/admin/tags";
}
}
TypeController.java
@Controller
@RequestMapping("/admin/types")
public class TypeController
{
@Autowired
private ITypeService typeService;
@GetMapping
public String list(@PageableDefault(size = 5,sort = {"id"},direction = Sort.Direction.DESC) Pageable pageable, Model model)
{
Page<Type> page=typeService.listType(pageable);
model.addAttribute("page",page);
return "admin/types";
}
@GetMapping("{id}/delete")
public String delete(@PathVariable Long id)
{
typeService.deleteType(id);
return "redirect:/admin/types";
}
@GetMapping("input")
public String input(Model model)
{
model.addAttribute("type",new Type());
return "admin/types-input";
}
@PostMapping("add")
public String add(Type type)
{
typeService.addType(type);
return "redirect:/admin/types";
}
@GetMapping("{id}/toUpdate")
public String toUpdate(@PathVariable Long id,Model model)
{
Type type=typeService.getType(id);
model.addAttribute("type",type);
return "admin/types-input";
}
@PostMapping("update/{id}")
public String update(Type type,@PathVariable Long id)
{
typeService.update(id,type);
return "redirect:/admin/types";
}
}
BlogApplication.java
@SpringBootApplication
public class BolgApplication {
public static void main(String[] args) {
SpringApplication.run(BolgApplication.class, args);
}
}