@Service("AdminService") public class AdminServiceImpl implements AdminService { @Autowired private AdminDao adminDao; @Autowired private DocDao docDao; @Autowired private LogDao logDao; @Autowired private UserDao userDao; @Autowired private RoleDao roleDao; @Override public Admin login(String username, String password) { try { return adminDao.login(username, md5(password)); }catch (Exception e) { e.printStackTrace(); return null; } } @Override public Map<String, Integer> index() { Map<String,Integer> map = new HashMap<>(); Long templateNum = docDao.count(null); map.put("templateNum",templateNum.intValue()); List<Log> logs = logDao.selectAll(); int nowlogNum = 0; Date now = new Date(); for (Log log : logs) { Date date = log.getTime(); if(DateUtils.isSameDay(now, date)){ nowlogNum++; } } map.put("nowlogNum",nowlogNum); Long logNum= logDao.count(); map.put("logNum",logNum.intValue()); Long userNum = userDao.count(null); map.put("userNum",userNum.intValue()); Long roleNum = roleDao.count(); map.put("roleNum",roleNum.intValue()); return map; } public static String md5(String password) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] hash = md.digest(password.getBytes(StandardCharsets.UTF_8)); StringBuilder hexString = new StringBuilder(); for (byte b : hash) { String hex = Integer.toHexString(0xff & b); if (hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } }通俗的详细的讲一下这段代码
时间: 2023-07-15 14:11:01 浏览: 137
这段代码是一个实现了 AdminService 接口的具体实现类,主要包含以下几个方法:
1. login(String username, String password) 方法:接收用户名和密码作为参数,使用 md5() 方法将密码进行加密,然后调用 AdminDao 的 login() 方法实现管理员的登录,如果登录成功就返回 Admin 对象,否则返回 null。
2. index() 方法:返回一个包含网站首页需要展示的数据的 Map 对象。该方法需要查询 DocDao、LogDao、UserDao 和 RoleDao 获取相关数据,然后构造 Map 对象并返回。
3. md5(String password) 方法:接收一个密码字符串参数,使用 MD5 算法将其进行加密,并返回加密后的字符串。
其中,@Autowired 注解用来自动注入其他对象,使得 AdminServiceImpl 类能够调用 AdminDao、DocDao、LogDao、UserDao 和 RoleDao 的方法。这样,AdminServiceImpl 类就可以通过调用这些方法来实现自己的功能。
相关问题
@Service("AdminService") public class AdminServiceImpl implements AdminService { @Autowired private AdminDao adminDao; @Autowired private DocDao docDao; @Autowired private LogDao logDao; @Autowired private UserDao userDao; @Autowired private RoleDao roleDao; @Override public Admin login(String username, String password) { try { return adminDao.login(username, md5(password)); }catch (Exception e) { e.printStackTrace(); return null; } } @Override public Map<String, Integer> index() { Map<String,Integer> map = new HashMap<>(); Long templateNum = docDao.count(null); map.put("templateNum",templateNum.intValue()); List<Log> logs = logDao.selectAll(); int nowlogNum = 0; Date now = new Date(); for (Log log : logs) { Date date = log.getTime(); if(DateUtils.isSameDay(now, date)){ nowlogNum++; } } map.put("nowlogNum",nowlogNum); Long logNum= logDao.count(); map.put("logNum",logNum.intValue()); Long userNum = userDao.count(null); map.put("userNum",userNum.intValue()); Long roleNum = roleDao.count(); map.put("roleNum",roleNum.intValue()); return map; } public static String md5(String password) throws NoSuchAlgorithmException { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] hash = md.digest(password.getBytes(StandardCharsets.UTF_8)); StringBuilder hexString = new StringBuilder(); for (byte b : hash) { String hex = Integer.toHexString(0xff & b); if (hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } }
这段代码实现了一个名为 AdminServiceImpl 的类,它实现了 AdminService 接口。该类使用了 Spring 框架的注解进行依赖注入。其中 @Autowired 注解注入了 AdminDao、DocDao、LogDao、UserDao 和 RoleDao 对象。该类还实现了 login() 方法和 index() 方法,分别用于管理员登录和获取首页数据。其中 login() 方法调用了 AdminDao 的 login() 方法进行管理员身份验证,而 index() 方法则通过查询 DocDao、LogDao、UserDao 和 RoleDao 获得了首页需要显示的各种数据。此外,该类还定义了一个静态的 md5() 方法,用于对密码进行 MD5 加密。
package com.ahbvc.bookstore.serviceImpl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ahbv.bookstore.service.AdminService; import com.ahbvc.bookstore.pojo.Admin; import com.ahbvc.bookstore.daoImpl.AdminDaoImpl; @Service("service") public class AdminServiceImpl implements AdminService{ @Autowired AdminDaoImpl adi; public AdminDaoImpl getAdi() { return adi; } public void setAdi(AdminDaoImpl adi) { this.adi = adi; } @Override public Admin getAdmin(String adminNum, String adminPwd) { // TODO Auto-generated method stub return adi.getAdmin(adminNum, adminPwd); } @Override public List<Admin> getAllAdmin() { // TODO Auto-generated method stub // List<Admin> list=adi.getAllAdmin(); return list; } }
这是一段Java代码,实现了一个名为AdminServiceImpl的类,它实现了AdminService接口。该类中有两个方法,一个是getAdmin方法,用于获取管理员信息,另一个是getAllAdmin方法,用于获取所有管理员信息。该类使用了Spring框架中的@Service注解,表明该类是一个服务类。其中,@Autowired注解表示自动装配,表示AdminDaoImpl实例会自动注入到该类中。
阅读全文