spring中毒太深

前言

利用spring实现一个Hello World非常简单

在这里插入图片描述

假如没有了spring,我们又该如何实现一个 Hello World呢

初学java时,都知道Servlet, 基于原始的 Servlet 进行开发,下面我们就基于原生的 Servlet 来完成一个类似springmvc简单的接口调用。
在这里插入图片描述

1.新建servlet项目,创建webapp,WEN-INF,web.xml

web.xml添加servlet和servlet-mapping一一对应如下
在这里插入图片描述

2.准备工作

新建如下注解:
在这里插入图片描述
见名知意
MyAutowired -> org.springframework.beans.factory.annotation.Autowired
MyController -> org.springframework.stereotype.Controller
MyGetMapping -> org.springframework.web.bind.annotation.GetMapping
MyRequestParam -> org.springframework.web.bind.annotation.RequestParam
MyService -> org.springframework.stereotype.Service

3.新建MyDispatcherServlet,继承HttpServlet

如下:
在这里插入图片描述
重点是init方法:
在这里插入图片描述
主要步骤:
1.获取配置文件名称,从web.xml中获取配置application.properties
在这里插入图片描述
2.doLoadConfig()加载配置文件,获取配置路径
application.properties内容如下:
在这里插入图片描述
doLoadConfig()方法:
在这里插入图片描述
3.doScanPacakge(myConfig.getBasePackages());扫码指定路径下,获取类全限定名称
在这里插入图片描述
4.doInitializedClass();根据类全限定名称,反射获取对象
在这里插入图片描述
5.doDependencyInject();依赖注入生成的对象属性
在这里插入图片描述
在这里插入图片描述
6.拦截所有请求,进入doHandOut(),分发请求,反射调用指定方法
在这里插入图片描述
在这里插入图片描述
7.测试
新建HelloController
在这里插入图片描述
新建HelloService
在这里插入图片描述

在这里插入图片描述
调用成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于一些开发者来说,他们可能会觉得Spring框架在某些情况下表现较慢。然而,需要注意的是,Spring框架的性能通常是与应用程序的设计、配置和实现密切相关的。 下面是一些可能导致Spring框架性能下降的常见原因: 1. 不正确的配置:Spring框架提供了很多配置选项,如果不正确地配置了某些功能,可能会导致性能下降。例如,过多的AOP切面、错误的缓存配置或者不合理的线程池配置等都可能导致性能问题。 2. 过多的依赖注入:Spring框架的依赖注入功能非常强大,但是如果过度使用或者注入了大量的依赖关系,可能会导致性能下降。建议使用合理的依赖注入策略,避免不必要的注入。 3. 糟糕的数据库查询:如果在Spring应用中使用了低效或者复杂的数据库查询,可能会导致性能下降。建议优化数据库查询,使用索引、合理设计表结构等方式提高数据库性能。 4. 未优化的代码:编写高效优化的代码是提高Spring框架性能的关键。建议使用合适的数据结构、避免重复计算、减少不必要的IO等方式进行性能优化。 5. 不恰当的缓存策略:Spring框架提供了缓存功能,但是不正确地使用缓存可能会导致性能下降。建议合理选择缓存策略,并且避免过度依赖缓存。 总之,如果您觉得Spring框架性能较慢,建议先仔细检查代码和配置,找出可能存在的问题,并进行相应的调优和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值