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

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

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

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

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

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

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

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

3、能够操作redis;

4、可以部署在tomcat容器。

开始搭建中。。。

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

不用spring框架会怎么样(java用了spring还用设计模式吗)图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框架会怎么样(java用了spring还用设计模式吗)图3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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框架会怎么样(java用了spring还用设计模式吗)图9

spring cloud家族:

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

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

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

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

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

…….

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

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

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

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

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

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

相关推荐

  • 女孩子学化妆好吗:女孩子学化妆有前途吗?

    当然有前途,原因如下: 1、世界是一个大家庭,是各个行业组合而成,所以每个行业都是缺一不可。 2、各个行业都是人才济济,所以需要更多的优秀人才,人才是永远都需要,所以非常欢迎有喜欢…

    培训问答 2022-06-05
  • 今天什么时间能查到高考成绩,等待高考分数的心情说说

    2021年高考成绩会在本月23-25号陆续公布,虽然我已经高考完很多年了,可是每年到这个时候,总觉得心有千千结。 我是2012年参加高考,高中在尖子班,大家都很厉害,我高中三年很努…

    2023-05-06
  • 2020年没有初级职称可以评中级职称吗

    小公以前待过的事业单位有位老同事,是个作家,多次获得过国家级和省级荣誉,一直没有评职称,后来因为要提拔,涉及到职称问题,领导让他尽快解决。他打电话咨询省职改办,表示自己没有中级职称…

    培训问答 2023-01-12
  • 幼儿园保育员的主要职责是什么

    保育员的岗位职责保育员任职条件:1、中专以上学历,有保育工作一年以上相关经验;2、喜欢孩子,有一定的育儿经验,做事耐心细致,任劳任怨。基本职责描述:一、监督幼儿生日是否在应该活动的…

    培训问答 2023-01-27
  • 业务招待费的扣除标准是什么

    企业发生的业务招待费支出,税前扣除标准是多少? 业务招待费,相信基本上每个企业都会发生,招待业务单位啦,同行之间交流啦等等,在这些人情往来中,业务招待费是避免不了的。那么业务招待费…

    2022-10-22
  • 怎么看待招聘软件上hr上来就要你去面试呢

    关于怎么看待上,HR上来就让你去面试,我觉得这里有两个点:一是看哪个招聘软件,二是软件上的HR是否真的就是HR。 招聘软件目前被使用比较多的有:Boss直聘,智联招聘,前程无忧,猎…

    2023-02-12
  • 如何运用pdca循环管理

    PDCA管理方法是个非常伟大的发明,是对我们每个人来说非常有用的实用工具,如果用的好,可以让每个人获得非常大的成就。 总体来说PDCA是一个通用性的工具,但是这个工具,可以应用在不…

    2023-03-02
  • 厦门一个月工资多少算正常

    厦门普通工作收入大部分集中在4000多到6000多。厦门服务业、工厂类一般月收入能到6000多元左右,算挺好了,互联网技术、运营岗位月收入8000-10000多的。管理高管有100…

    2022-12-28
  • 托福英语培训:国内有哪些著名的英语培训机构

    肯定会招来一大堆打广告的。本人曾在外语培训机构任教过多年,现已转岗。如果我去找培训机构,不会仅仅看哪个更出名,而是会亲自去试一下。因为哪个更出名,和他的广告力度,进入市场时间都有关…

    2022-04-25
  • 有什么儿童益智故事,儿童益智故事收听

      给孩子讲故事不仅能够开发孩子的智力,还能拉近亲子之间的感情,对宝宝的身心健康成长有很大帮助哦!以下是小编为大家准备的儿童益智故事,希望大家喜欢。   谁跟小羚羊去避暑   炎热…

    2023-04-17