初识Spring

本文介绍了Spring框架的基础概念,包括其作为一个轻量级框架的特点、IoC机制与DI原理,并探讨了如何通过配置文件来实现对象的创建与注入。此外,还对比了BeanFactory与ApplicationContext的不同之处。

    今天开始学习Spring.听闻这个颇为流行的框架已经很久了.之前也写了个简单模拟的IoC容器.所以对Spring充满向往和好奇(⊙﹏⊙b汗).今天主要是学习不得不提的几个概念和如何使用Spring框架.

    首先是Spring框架.并不是我之前理解的仅仅是个IoC容器.事实上它是一个基于IoC和AOP构造多层J2EE开发系统的框架.声称是一个轻量级的框架.它以非侵入的方式管理代码.因为使用IoC实现了解耦,它得以组织起其他框架.此外事实上,它还提供了其他的很多企业级服务(JNDI,JMS,持久化,事务管理服务等).如果以提供服务多少为评价标准的话,Spring可以称为重量级.当然,单纯以我们一般使用的spring-core包论,是轻量级的.

    然后,IoC(Inversion of Control)机制,反向控制是指对象的生命周期不再由调用者控制而是反转到了容器.幸而之前写过手工IoC容器.大致知道容器内部如何创建对象,提供对象(没写销毁).下一个问题是,容器怎么知道创建什么样的对象?当然是配置文件(我们用的是XML).在其中写入<beans>标签下写入<bean>标签指定它的id和class属性,(根据之前的手工IOC推测)id用于标识创建后存入容器里的对象,class则是用于反射得到对象.这是IoC负责的范围.

   下一个概念是DI(dependency injection),依赖注入.容器中已经有了需要的bean了,下一步是把bean给有需求的.这个过程就是依赖注入.在调用者类中,写入一个私有属性(一般为接口方便扩展),加入setter,就可以在需要的时候通过setter把内容给它.(这个是设值注入.如果是构造注入,  就是将私有属性作为构造器的参数,直接注入到构造器中).

   事实上,个人理解,解耦的过程既是将对象读到容器,再在适合的时候注入到类中.反射机制扮演的角色就是使Spring可以非侵入的方式来提供服务.

   如何使用Spring框架.还是那么几步,下载源码,加入Java包,然后写配置文件,然后使用.配置文件提供了很多的功能,因而相当灵活.比如提供了设值注入和构造注入,提供lazy-init,提供scope来决定是否为prototype或者singleton(我才知道prototype是设计模式,scope默认的是singleton),提供了自动装配的方式(autowire=byName,byType,constructor,autodetect).

   下午还尝试看一些介绍SpringIoC的文章,大块大块的代码搞得我有点晕乎乎的.收获还是有的,至少知道了BeanFactory和ApplicationContext等 Context的区别.BeanFactory定义的是基本的接口,ApplicationContext等则是在此基础上做的强化,提供更多的服务.因此一般都是直接用Context.还了解到,虽然用的很多是xml,但是只是一种数据源其实还可以用到FileSystem,DB等等.只要有相应的ApplicationContext就可以.

   OK,期待明天...

基于遗传算法的微电网调度(风、光、蓄电池、微型燃气轮机)(Matlab代码实现)内容概要:本文档介绍了基于遗传算法的微电网调度模型,涵盖风能、太阳能、蓄电池和微型燃气轮机等多种能源形式,并通过Matlab代码实现系统优化调度。该模型旨在解决微电网中多能源协调运行的问题,优化能源分配,降低运行成本,提高可再生能源利用率,同时考虑系统稳定性与经济性。文中详细阐述了遗传算法在求解微电网多目标优化问题中的应用,包括编码方式、适应度函数设计、约束处理及算法流程,并提供了完整的仿真代码供复现与学习。此外,文档还列举了大量相关电力系统优化案例,如负荷预测、储能配置、潮流计算等,展示了广泛的应用背景和技术支撑。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事微电网、智能电网优化研究的工程技术人员。; 使用场景及目标:①学习遗传算法在微电网调度中的具体实现方法;②掌握多能源系统建模与优化调度的技术路线;③为科研项目、毕业设计或实际工程提供可复用的代码框架与算法参考; 阅读建议:建议结合Matlab代码逐段理解算法实现细节,重点关注目标函数构建与约束条件处理,同时可参考文档中提供的其他优化案例进行拓展学习,以提升综合应用能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值