当前位置: 首页 > news >正文

如何设计响应式布局网站塘厦在哪里

如何设计响应式布局网站,塘厦在哪里,互联网设计师工资一般多少,国外搜索网站排名前言#xff1a; 我们在进行web开发时#xff0c;基本上一个接口对应一个实现类#xff0c;比如IOrderService接口对应一个OrderServiceImpl实现类#xff0c;给OrderServiceImpl标注Service注解后#xff0c;Spring在启动时就会将其注册成bean进行统一管理。在Co…前言         我们在进行web开发时基本上一个接口对应一个实现类比如IOrderService接口对应一个OrderServiceImpl实现类给OrderServiceImpl标注Service注解后Spring在启动时就会将其注册成bean进行统一管理。在Controller层需要使用到Service层的服务组件时就通过Autowired或Resource等注解标注接口Spring会自动为我们注入接口的实现类。 OrderController RestController RequestMapping(/order) public class OrderController{AutowiredIOrderService orderService;GetMapping({id})public Order getOrder(PathVariable(id) Integer id){return orderService.getOrderById(id);}} OrderServiceImpl Service public class OrderServiceImpl implements IOrderServiceImpl{AutowiredOrderDao orderDao;Overridepublic Order getOrderById(Integer id){if(id ! null)orderDao.getById(id);}} 在IOrderService接口只有一个实现类OrderServiceImpl时这么写当然没有问题。如果我们编写了多个IOrderService接口的实现类在不同场景需要使用不同实现类这么写还能行吗肯定不能 原因Autowired注解注入的方式是by type按类型注入一个接口如果存在多个实现类Spring将不知道应该注入哪个实现类在启动阶段就会报错。 Autowired ​ Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) Retention(RetentionPolicy.RUNTIME) Documented public interface Autowired {boolean required() default true; }​ 其中还有一个required属性默认为true表示强制要求Bean实例的注入如果IOC容器不存在对应类型的BeanSpring启动时就会报错。 解决方案 1在使用Service注解配置实现类时声明bean的名称并使用Qualifier注解注入对应的实现类。 OrderServiceImpl1 //指定名称 Service(orderServiceImpl1) public class OrderServiceImpl implements OrderService {Overridepublic String sayHello() {return 实现类1 say Hello;}} OrderServiceImpl2 //指定名称 Service(orderServiceImpl2) public class OrderServiceImpl2 implements OrderService {Overridepublic String sayHello() {return 实现类2 say Hello;} } OrderController RestController RequestMapping(/order) public class OrderController {AutowiredQualifier(orderServiceImpl1)//使用指定名称的bean示例作为实现类OrderService orderService;GetMapping(/test)public String test(){return orderService.sayHello();}} 启动Spring并使用Postman测试接口测试结果 修改Qualifier注解为Qualifier(orderServiceImpl2)重启Spring再次测试接口测试结果 可以看到Spring容器为OrderService接口注入了不同的实现类。 2使用Resource注解。 OrderController RestController RequestMapping(/order) public class OrderController {Resource(name orderServiceImpl2) //指定使用哪一个bean作为实现类OrderService orderService;GetMapping(/test)public String test(){return orderService.sayHello();}} 测试结果 原理Resource注解默认的注入方式是by name按名称注入如果你只是单纯使用Resource注解而不指定其属性那么它默认会匹配字段名。如下 RestController RequestMapping(/order) public class OrderController {//默认匹配bean名称为orderService的bean示例ResourceOrderService orderService;/*默认匹配bean名称为service的bean示例ResourceOrderService service;*/GetMapping(/test)public String test(){return orderService.sayHello();}} 补充如果by name注入失败那么它会通过by type继续尝试注入。当然如果此时存在多个实现类Spring会在启动阶段报错。 报错No qualifying bean of type com.hammajang.springbootdemo.service.OrderService available: expected single matching bean but found 2: orderServiceImpl,orderServiceImpl2 这里意指通过by name没有匹配到bean实例尝试通过by type时匹配到了两个bean实例Spring不知道注入哪个bean实例。 以上就是本文的全部内容如果你有所收获不妨点个赞
http://www.dnsts.com.cn/news/117740.html

相关文章:

  • 怎么在凡科上做网站wordpress hotnews
  • 企业网站建设需求企业如何建公司网站
  • 介绍一个做美食的网站设计网站要多久
  • 飘雪影视在线观看西瓜seo外链推广工具
  • 做网站与全网营销搜索推广排名优化网站在百度搜索不到
  • 在浴室里做的网站互联网公司排名2021南方财富网
  • ppt接单兼职网站软件设计要求
  • 西客站网站建设搭建游戏
  • 8黄页网站建设数字短链接生成
  • 做医药商城网站的公司江苏嘉力电力建设有限公司网站
  • 上海市建设工程信息报送网站哈尔滨网站开发建设公司
  • 陕西省住房城乡建设厅网站管理中心如何推广普通话的建议6条
  • 三亚住房和城乡建设厅网站东营建站
  • 做网站开发哪里好电商网站模块介绍
  • 建设网站能自学吗网站外链
  • 做餐饮培训网站广告个人网站收款
  • 站长工具国产2022wordpress 心理
  • 手机版网站如何做电信服务器做网站
  • 宋朝网站应该怎么做网站建设功能模块几报价
  • 泰州做网站需要多少钱wordpress 显示不全
  • 信息网站 模板做网站代码
  • 旅游网站开发答辩ppt建设做网站
  • 做英文网站 是每个单词首字母大写 还是每段落首字母大写郑州网站定制
  • 淘宝网站建设那么便宜镇江网站建设工作室
  • 建设网站有哪些博物馆设计网站推荐
  • 中国网站建设公司前十名在自己电脑上建网站
  • 关于做情侣的网站的图片网站 建设需
  • 在线简历免费制作网站图片外链
  • 外贸soho网站制作从留言板开始做网站
  • 网站内容创造中铁建设中南公司官方网站