请问各位在使用spring开发web应用时,有没有遇到service层中的接口被多实现的场景?接口-单实现类写吐了不知道有什么作用 interface IUserService{ User getUserByUserName(String username); } p c UserServiceAAA implements IUserService{ @Override public User getUserByUserName(String username){ return userDao.去分公司的库里查(); } } p c UserServiceBBB implements IUserService{ @Override public User getUserByUserName(String username){ return rpc.调用当地劳动局的接口("https://peoplexxx.com"); } } 即使遇到多个实现类,这个接口被注入的地方也需要策略来决定用哪个实现类吧,直接在选择策略的地方决定注入哪个service bean不就行了吗?我在选择这两个实现类的时候还是要用spring "@Qualifier"注解决定注哪一个,那改类名和改"@Qualifier"注解值好像也没多大区别吧,甚至还更简洁了,那这个接口存在的意义在哪里? p c UserController{ @Qualifier("serviceAAA") @Autowired private IUserService userService; @Qualifier("serviceBBB") @Autowired private IUserService userService; //=============== @Autowired private UserServiceAAA userServiceAAA; @Autowired private UserServiceBBB userServiceBBB; }
新手上路,刚学完 ssm 还没学 spring Boot,请教各位前辈: 网上各家教程都讲了 mvc ,controller 层,service层,dao 层以及分别是干什么的,但java 不像前端 js ,是强类型语言,每一个实例对象都要有对应的类,那么仅仅是这三层包应该是不够吧?比如我写的这个登录controller 就已经衍生出三四个类了: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240920/0f891da695ceb3d6af49d4866969386a.png) 如图分别是controller,请求入参对象的类,响应返回对象的类,还有响应数据按统一格式封装的类,虽然响应数据按统一格式封装的类将来其他接口也会复用,但是像请求入参,响应出参,几乎每个接口都是各自唯一的,甚至有时候响应出参 json格式 还涉及到嵌套,以及将来业务逻辑复杂了service层应该也会多出很多类,那么这些类我该怎么去维护管理呢?总不能每一个请求都对应着创建一个包吧? 因为还没有学 springBoot,所以找了几套实际生产的代码看着都有些吃力,最终没搞明白,希望各位前辈不吝赐教,如果有好心人能给画个最简单的项目结构的示意图就更好了,感谢各位大佬。。。