接口 public interface 接口名{} class 类 implements 接口 {}
接口 public interface 接口名{} class 类 implements 接口 {} - 简书
接口是功能的合集,只描述所应具备的方法,并没有具体实现,具体的实现由接口的实现类即接口的子接口来完成。这样将功能的定义与实现分离,优化了程序设计。
public interface UsersDao {
public List<HashMap<String, Object>>login(HashMap<String, Object> map);
public List<HashMap<String, Object>>findByEmail(String email);
public List<HashMap<String, Object>>findByUserId(int userId);
}
这里就定义了一个UserDao接口,并抽象了三个方法。
类与接口的关系为实现关系,即类实现接口。实现的动作类似继承,只是关键字不同,实现使用implements。其他类(实现类)实现接口后,就相当于声明:”我应该具备这个接口中的功能”。实现类仍然需要重写方法以实现具体的功能。
@Service
public class UsersServicelmpl implements UserService {
@Resource
UsersDao userDao;
@Override
public Result login(String email, String password) {
Result result = new Result("fail",null);
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("email", email);
map.put("password", password);
List<HashMap<String, Object>> list = userDao.login(map);
if(list!=null&&list.size()>0) {
result.setData(list);
result.setFlag("success");
}else {
if(findByEmail(email)) {
result.setData("密码错误");
}else {
result.setData("邮箱不存在");
}
}
return result;
}
@Override
public boolean findByEmail(String email) {
List<HashMap<String, Object>> list = userDao.findByEmail(email);
if(list!=null&&list.size()>0) {
return true;
}else {
return false;
}
}
该部分代码,首先通过implements来实现UserService中的方法。在声明阶段如果直接进行添加的话,那么生成后会直接构建UserService中定义的两个方法。
spring中注解注入 context:component-scan 的使用说明
(23条消息) spring中注解注入 context:component-scan 的使用说明_大飞的博客-CSDN博客配置完这个标签后,spring就会去自动扫描base-package对应的路径或者该路径的子包下面的java文件,如果扫描到文件中带有@Service,@Component,@Repository,@Controller等这些注解的类,则把这些类注册为bean。