不用spring框架会怎么样(java用了spring还用设计模式吗)

这个想法不错!如果没有spring,我们正常的一个项目应该怎么搭建和开发?

不允许使用Spring框架意味着搭建的项目不允许使用SpringBoot、SpringMVC、Spring这些Spring家族的框架,既然如此ORM框架我们也不要使用,在这样的限制条件下,项目应该如何搭建?日常CRUD应该如何开发?

心动不如行动,开始搭建,先创建一个简单的maven项目no_spring_example

这个项目我们需要它具备如下的几个能力:

1、能够提供http接口访问能力;

2、能够操作MySQL数据库,支持事务,支持连接池;

3、能够操作redis;

4、可以部署在tomcat容器。

开始搭建中。。。

竟然花了我将近2个小时的时间,终于跑起来了,先看看项目整体架子:

相关包介绍:

org.example.conf

  • DruidUtil:数据源配置,采用的是阿里巴巴开源的druid;
  • MysqlBaseUtil:Mysql数据库的增、删、改、查基本操作,支持单次和批量;
  • RedisUtil:redis操作工具类,采用的是JedisPool。

org.example.dao

  • Test1Dao:这个就是对数据库里test1表的操作。

org.example.dispatcher:

  • StartupServlet:启动类Servlet,利用loda-on-startup来初始化加载WEB-INF/config目录的一些配置文件;
  • Config:即加载servlet.conf文件中的配置信息,比如MySQL连接信息、redis连接信息

org.example.filter:

  • GolbalFilter:全局过滤器,web三大组件之一;

org.example.servlet:

  • Test1AddServlet:新增数据api;

让我们把它运行到tomcat容器中,然后访问接口:http://localhost:8080/no_spring_example_war/test1/add.do

返回成功了,查看数据库表数据:

这样我们的数据库操作就通了,一个完全没有Spring相关框架参与的小架子就搭建完毕!

由于篇幅原因,涉及到redis操作、数据库事务并没有展现,感兴趣的同学可以私信我获取该项目源代码,让我们一起回忆青春~

回到问题本身,没有spring框架,对我们开发有什么影响?

结合上面这个项目来看,确实需要我们自己做的事情比较多,比如:

  1. 参数的获取、校验、序列化成对象;
  2. 数据的返回,反序列化成json;
  3. 数据库的操作需要我们手写sql;
  4. 连接池需要我们自己初始化,事务需要我们自己回滚;
  5. 只能使用Filter、Interceptor,不再有强大的AOP,这个也需要你自己去实现;
  6. 随着业务的复杂,我们需要集成其他功能,例如异步、中间件等都需要我们自己去开发;

用惯了Spring框架的我们,或许这个时候才知道它的好吧~

不过话说回来,如果真的在实际工作中不用Spring框架完成一个项目的话,你的基础能力一定会有很大的提升,包括工具类的抽取、对象的封装,基础组件的使用以及理解等,只要你是一个有追求的程序员~

框架虽好用,但是却容易蒙住我们的双眼。

最后,给你们再看一眼曾经多么熟悉的web.xml:

我从事java开发已经多年了,有幸解答你的问题!

就我的经验来看,学习JAVA不一定要学spring,你可以开发小应用,你可以做图形界面,你可以做android开发!但如果你是做服务器开发,那么spring是你必须的选择!

我JAVA从业经验中,经历了SSH,SSM,SpringMVC+M,Spring boot和Spring cloud,等等框架,核心都是Spring,都离不开spring!

spring的妙用有哪些呢?从spring设计伊始就是为了解决对象的创建和管理!后来功能愈发的完善,变成了垄断性的框架!

1,控制反转(IOC)的思想,运用依赖注入(DI)的技术,让我们管理对象的时候再也不用new new new了!防止大量对象的创建!防止组件之间的强依赖!

2,运用了大量的反射,代理,工厂方法,是我们学习编码技巧的最好模范!

3,AOP(面向切面编程)技术,能够使用少量代码搭建完美的的日志管理,权限管理,运行期监控!

4,低侵入性!让我们可以轻松耦合诸如struts,hibernate,mybatis,redis,memcache,amoeba,actibemq等包括数据层,控制层,缓存,数据中间件,消息中间件的中间件!

5,低耦合特性:通过依赖注入特性,可以借助spring容器创建,管理对象,防止在代码中硬性注入对象,防止对象混乱!

6,通过@transaction注解,可以实现声明式事务,在注解中的代码都可以在一个事务当中,实现最简单的事务控制,异常回滚!

7,spring源码使用了诸如工厂,单例,代理,构造者,策略,模板等多种设计模式,是JAVA程序员写出优良代码的不二范例!

8,提供大量诸如beanUtils,qstringUtils等优秀工具类!

…..

但是spring 4之前,用spring开发web配置过于繁杂,笨重!让程序员不用专注于业务代码开发,spring boot ,spring cloud由此诞生,将spring再次推向辉煌神坛!

spring cloud家族:

1,web开发:使用web-starter将web开发精炼到极其简单的地步,只需简单的几行代码就可以实现一个服务!

2,服务发现和治理:使用eureka-starter将服务注册到指定服务器上,对于健康,宕机的服务进行自动管理!

3,熔断器:Hystrix用于诸如遇到雪崩效应,不断大量重试等自动服务熔断!

4,网关:使用zuul实现网关路由!

5,配置集中化管理:使用config实现配置文件的统一管理和热部署!

…….

可以说spring是JAVA程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!

作为JAVA工程师,你用spring吗?

原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/9734.html

(0)
上一篇 2023-04-19 下午2:30
下一篇 2023-04-19 下午2:43

相关推荐

  • 3d动画制作的基本流程(工业三维动画如何制作的)

    04 工业制作三维动画的话,人数是不确定的,这要看制作的成本还有公司的规模,不过至少也要几十人吧。 至于流程,每个三维动画公司大概分为以下几个部门:前期部、模型部、绑定部、动画部还…

    培训问答 2023-03-16
  • 化妆师资格证,要报考化妆师资格证需要什么

    随着社会的发展,越来越多的场合需要“化妆”来突显气质,因此化妆师这一行业的需求也越来越大。许许多多的年轻人都有想当一名职业化妆师的想法。而要成为一名职业化妆师,则是需要化妆师资格证…

    培训问答 2022-05-22
  • 天津平面设计培训,平面设计自学还是进培训机构

    菜鸟是指完全没有设计基础的吗? 不管有没有基础,既然提到了培训机构,相信你已经做好了交学费的准备,现在就差选择学校了,真技术都会教,就是看内容是否丰富和符合现在的设计要求了。 现在…

    培训问答 2022-10-25
  • 儿童酸奶有营养吗,儿童适合喝酸奶吗

     77%网友最担心儿童奶中添加剂有害健康   在搜狐健康发起的关于儿童奶的调查中,2千余名网友参与了调查。其中98%的人都购买过“儿童乳制品”。在品牌选择上,大品牌“伊利”、“蒙牛…

    培训问答 2023-01-08
  • 职场英语培训机构,职场英语培训班比较

    只要100天就能成为职场英语王?阅人无数的顶尖猎头公司CEO说,这事儿可以有! 今天要分享的大咖,他的光环闪耀到刺眼。 出生在博士家庭,毕业于世界名校,是创始人CEO。为哈佛、麻省…

    培训问答 2022-06-08
  • 法国留学中介,哪几个留学中介比较好

    其实在王懿德老师看来,选择国家没有好与坏,适合自己的才是最重要的。 具体来说,每个人适合的国家都不一样,比如你的留学预计花费是10万一年,那就比较适合去亚洲和欧洲国家,如果你擅长说…

    培训问答 2022-06-05
  • 俄语容易学吗(学俄语的方法)

    Здравствый(俄语:日得拉司特维,你好)! Cпасибо(俄语:是吧谁吧,谢谢)! 先解答题主吧,学俄语比英语容易太多了! 看到题主,我随口就冒出开头的两个俄语单词。要知…

    培训问答 2023-03-05
  • 华侨大学泉州校区怎么样

    同学们首先要注意的是,华侨大学在福建省有泉州校区及厦门校区,在招生计划册中未特别标注的均是泉州校区所开设专业,厦门校区所开设专业均有特别标注“(厦门校区)”。 华侨大学文史类历年的…

    培训问答 2023-04-10
  • 泰迪和博美哪个更好

    单从提出看,您应该是比较喜欢小型犬的人。 小型犬,对家里空间要求不高。因为它们体型小,活动范围不用太大。 小型犬的特点是:体态娇小可爱,饭量小易饲养,粘人,活泼,打理卫生相对容易。…

    培训问答 2023-03-17
  • 出国旅行用什么随身wifi,国外旅行随身wifi

    一个话包含了需要科普的三个问题,随身wifi、境外网络、自驾导航。如果没搞清楚就去自驾的话可能会产生非常不必要的麻烦。作为一个有经验的“前辈”,让我一个个来给大家讲解一下相关的内容…

    培训问答 2023-01-27