如何让我自己的普通程序难懂起来(2)--系统框架Spring

当下Springboot可以说是最流行的,可惜入职后一直未有接触。原因一是项目讲求敏捷开发,短期评绩效的话,没人愿意花时间去研究新的框架能给项目带来的好处。二是公司项目代码冗余庞杂且陈旧,依赖老式的自研底层框架较深,底层的架构更换不仅要大量人力,还有由于了解框架不够透彻,可能修改引入问题。这就不得不自己私下花点时间解决平时好奇的问题。spring和springboot是什么关系?我平时写的无框架的代码是否可以用的上。带着这两个问题开始了我的百度之旅......

对于第一个问题,其实只要没用过这两种框架的人,基本上看遍了各种文章也只是有个印象,不理解实际的差别。小白一个的我,自然看了网上的好文章依旧无法茅塞顿开==|||.  不过有一个初步的印象也是好的,会有方向感。比如这篇https://www.jianshu.com/p/ffe5ebe17c3a,或者这篇 https://zhuanlan.zhihu.com/p/37430067。 简单的理解,springboot整合了所有的框架,是spring的扩展,存在的意义是更方便开发者编程。既然两篇下肚,花的时间不少,不如自己代码开场,去尝试如何把自己平日的代码使用上最基本的spring框架,才会一点一点探索spring框架的好处以及当下springboot又是如何简化开发的。所以此篇也会是一篇长期更新的文章,用于记录初识框架的我对spring框架带来好处的感悟。

完事开头难,最初的疑问便是Spring框架运行到底需要多少个pom依赖?正如网上文章所说,要想使spring基本项目跑起来,仅依赖spring-context即可,pom依赖如下:

相应的在IDEA中项目的External libraries中即可看到此包所依赖的相关jar包也都下载下来(idea设置了auto-import):

正如spring框架图所示的那样,这些jar包实现了spring的核心容器:

那为什么只需要依赖一个spring-context即可运行呢?原因是spring-context依赖其他jar包(maven默认会下载其相关依赖)。其实现了容器注入,与spring-bean构成了Spring IoC容器的基础。Spring的核心概念可以查看网上的一些文章和课程很快就能理解。现在便可以尝试在我的main函数中使用spring容器的相关特性---依赖注入:

spring-context.xml定义:

执行结果:

值得注意上述使用了@Slf4j的注解,帮助我们节省了在各个类初始去static final Logger的声明。以及使用了lombok的@Getter@Setter的注解节省了get,set等方法。当项目庞杂,字段极多,确实帮我们节省了一小部分工作量也使代码显得整洁。lombok还有不少妙用,具体的使用可参考官网文档。

当然如果第一次想尝试加载bean的配置文件的时候,会在网上搜到有几种加载方式,如文章: https://www.cnblogs.com/wlsblog/p/7389531.html。这里只选用了其中一种。需要注意的是,当使用ClassPathXmlApplicationContext去加载bean的配置文件时,要给出在资源下的相对路径,否则会报异常如:

另外bean的配置文件具体如何去配置bean,可以参考文档:

以上就是简单的体验spring框架注入一个bean对象,让程序员摆脱new的使用方式,从把类与类直接的依赖关系,从代码中抽出降低耦合。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值