Java开发如果不让使用spring框架,会有多大影响

投稿- 2023-08-20 21:35:21

Spring框架核心组件,架构思想总结

各位老铁们,大家好,今天由我来为大家分享Java开发如果不让使用spring框架,会有多大影响,以及redis不建议使用事务的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

  1. Java开发如果不让使用spring框架,会有多大影响
  2. values什么意思
  3. redis是否可以代替mysql进行数据存储怎么样
  4. Windows电脑上有哪些值得推荐的软件

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框架,对我们开发有什么影响?

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

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

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

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

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

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

values什么意思

values:值,数据在非事物型的nosql数据库中,例如redis数据库是:key-values数据库,俗称:键-值values就是数据,他对应的是key值,程序可以通过getValues(key)的方式来获取数据。

redis是否可以代替mysql进行数据存储怎么样

Redis本身是支持数据持久化的,很多有些程序员都会觉得Redis应该可以替代MySQL,但是我们在使用一项技术的时候,不是看它能不能,而是要看它适合不适合;而在大部分场景下,Redis是无法替代MySQL的。

MySQL是关系型数据库,数据储存在磁盘上,数据的格式是我们熟知的二维表格的样式。关系型数据库具有很多强大的功能;大部分都支持SQL语句查询,对事务也有很好的支持。

Redis被称作非关系型数据库,属于内存数据库,数据都储存在内存中(Redis有RDB持久化策略),Redis支持的数据类型也比较多,比如字符串,HASH,List等。

MySQL和Redis没有竞争的关系,通常当并发访问量比较大的时候,特别是读操作很多,架构中可以引入Redis,帮助提升架构的整体性能,减少Mysql(或其他关系型数据库)的压力;

不是MySQLorRedis;而是MySQL+Redis;

因为Redis的性能十分优越,可以支持每秒十几万此的读/写操作,并且它还支持持久化、集群部署、分布式、主从同步等,Redis在高并发的场景下数据的安全和一致性,所以它经常用于这些场景:

经常要被查询,但是CUD操作频率低的数据;比如数据字典,确定了之后很少被修改,是可以放到缓存中的;还有热点数据,查询极为频繁的数据,放到Redis中可以减少MySQL的压力;

经常被查询,但是实时性要求不高数据,比如购物网站的热销排行榜,定时统计一次后把统计结果放到Redis中提供查询(请不要每次都使用selecttop10fromxxxx)。

缓存还可以做数据共享(Session共享),在分布式的架构中,把用户的Session数据放到Redis中。

高并发场景下的计数器,比如秒杀,把商品库存数量放到Redis中(秒杀的场景会比较复杂,Redis只是其中之一,例如如果请求超过某个数量的时候,多余的请求就会被限流);

因为Redis对高并发的支持和单线程机智,它也经常用作分布式锁;

Redis虽然功能强大、性能高效,但是也不是万能的,项目在引入Redis的时候,需要考虑的问题也比较多,并且会带来额外的开发和运维的工作量。

首先要判断数据是否适合缓存到Redis中,可以从几个方面考虑:数据会被经常查询么?命中率如何?写操作多么?数据大小?数据一致性如何保证?

我们经常采用这样的方式将数据刷到Redis中:查询的请求过来,现在Redis中查询,如果查询不到,就查询数据库拿到数据,再放到缓存中,这样第二次相同的查询请求过来,就可以直接在Redis中拿到数据;不过要注意【缓存穿透】的问题。

缓存的刷新会比较复杂,通常是修改完数据库之后,还需要对Redis中的数据进行操作;代码很简单,但是需要保证这两步为同一事务,或最终的事务一致性。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

Windows电脑上有哪些值得推荐的软件

小编花了30天,试用超过300款电脑网红软件,最终被下面8款软件,深深吸引住,每个都堪称精品中的精品,良心中的良心。

1、火绒(纯良心电脑安全卫士)

火绒与某安全卫士相比,实属“国产清流”,小编接触以来,逢人就推荐,它小巧干净,免费使用,完全没有广告,更没有烦人的弹屏“问候”,它安静守护着小编电脑安全,如今已超过180天。

火绒虽然完全免费,可电脑防护方面一点也不含糊,支持病毒查杀、漏洞修复、系统修复、垃圾清理、流量监控、启动项管理等。

火绒的广告弹窗拦截功能值得吹爆,如果出现“漏网之鱼”,你还能通过自定义截图拦截功能,将不受欢迎的弹窗关进小黑屋,还你电脑一片清净。

2、IDM(最强资源下载器,没有之一)

IDM是一款被网友成为“地表最强”的资源下载器,大小只有10M,下载速度比某雷快,完全免费可以白嫖。

对于IDM而言,万物皆可下载,不仅支持BT种子下载,还支持网页视频、音频等资源抓取下载,遇到好东西,不想错过?点击IDM一键留住美好。软件支持批量下载、站点抓取、视频抓取、直播录制等,更多优秀功能等待大家探索。

3、Eversheet(软件开发神器)

Eversheet与WPS颇有渊源,其创建者曾深度参与WPS研发,因此Eversheet的使用与WPS一样简单。

Eversheet还有个接地气的中文名叫云表无代码开发平台,纯中文式的操作界面,通过它拖拉拽,画表格即可完成软件开发。

excel用于个人数据记录问题不大,可是将excel用作企业管理时,问题较为突出,数据难以整合容易丢失,缺乏协同管理、缺乏权限设置,也极大阻碍了部门间的数据交互。

以上难题通过云表的流程审批、在线协同功能,可以轻松解决。

值得一提,云表还是国内唯一可以通过无代码搭建出工业级应用的工具,已开发的系统包括,ERP、WPS、MES、WMS等,国内对于云表的接纳程度呈现指数及增长,例如,中国航天科工集团、中国电信、绝味食品、恒逸集团、许继电气等国内龙头都在使用云表搭建属于自己的管理系统。

4、Bandizip(解压神器)

解压软件是每台电脑必不可少的,可是好用的大多都要付费或者捆绑广告,下面分享的Bandizip可以说是神级解压工具,界面整洁,无广告,口碑极佳。

Bandizip作为一款经常被网友“种草”的软件,功能不仅仅是常规解压。例如,智能自动解压功能,这是我最喜欢的功能,选择“自动解压”即可根据压缩包所在目录层级自动解压成文件夹,无需选择解压去向,同时避免解压而导致文件铺满屏幕。

另外图片预览功能、损毁压缩包修复功能,都属于Bandizip的实用功能。

5、HiBitUninstaller(流氓卸载神器)

这是一款流氓软件卸载神器,大小只有3M,功能却异常强大。某些捆绑软件过于流氓,360卫士的卸载列表也无法找到,此时,只要将流氓软件的图标拉进HiBitUninstaller,即可完成卸载,让人惊喜的是它还能清理注册列表,防止流氓软件死灰复燃,还你电脑一片清净。

HiBitUninstaller的功能非常丰富,例如浏览器扩展工具卸载、强制粉碎、安装监视启动管理、进程管理等。

应用商店组建管理功能,支持卸载window10自带却很少使用的插件。

6、listary(高效启动工具)

listary是一款文件搜索与快速启动程序的神器,双击“Ctrl”键,就可以调出它,不管文件与程序藏在哪里,它都能秒搜并打开。

你在使用其他程序,只要双击“Ctrl”键,就能快速启动它,无需关闭当前窗口,非常方便,效率大增。

istary还有一个被大家忽略的实用功能,当你打开了很多文件夹窗口,此时突然同事和你沟通工作,打乱了你的节奏,你不得不先忙别的事情。

回来时你已经忘了哪个文件夹正在使用,需要一个一个找,费时间、费精力,通过它的历史功能回顾,你能快速找到对应的内容,工作衔接再也不会因为打扰而出现断片了。

7、PotPlayer

PotPlayer是一款被网友誉为最好的视频播放器,它的推广不需要软件制作者自己标榜,完全靠网友口碑推动,免费且无广告,功能异常强大。

PotPlayer启动速度极快,自身体积小不到30M,播放时占用内也小。其软件内置的解码器,几乎可以播放任何格式的视频文件。除了常规的播放,它丰富的快捷键也非常实用,例如快捷键“C”即可实现视频加速,最高加速至12倍,画面完全不卡顿。快捷键"X",实现视频减速直至0.2倍。“Ctrl+C”组合键实现快速截图,并可复制到微信等工具。

8、ScreenToGif

这是一款完全免费的gif制作工具,简洁的操作界面,没任何广告,通过它制作的gif不仅体积小而且非常清晰,还支持录像机、画板等实用功能。

ScreenToGif的操作非常简单,点击“录像机”,框选出需要录制的区域,即可随心制作出个性化的gif动图。

以上8款软件,耗时30天时间整理出来,个个深入人心,良心之作值得点赞,建议收藏方便往后查阅。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

Java大数据入门 Spring MVC框架原理
  • 声明:本文内容来自互联网不代表本站观点,转载请注明出处:bk.66688815.com/12/108041.html
上一篇:不建议用两个字起名(不能起两字名字)
下一篇:不建议用彩色乳胶漆吗(彩色乳胶漆好不好)
相关文章
返回顶部小火箭