游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Spring框架的优势是什么?

  跟我一起看看传统的Javaweb开发会遇到什么困惑。传统Javaweb开发代码分析用户模块
  困惑一:层与层之间紧密耦合在了一起,接口与具体实现紧密耦合在了一起。
  解决思路:程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象。
  困惑二:通用的事务功能耦合在业务代码中,通用的日志功能耦合在业务代码中
  解决思路:程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象的代理对象,代理对象内部动态结合业务和通用功能
  一、IoC控制反转思想的提出
  实际开发中,对象之间的耦合关系,就类似手表内部的齿轮,每个齿轮都紧密啮合在一起,一旦某个齿轮发生故障,那么整个系统也意味着崩溃。尽可能让对象之间的关系保持松耦合状态是我们期望的。
  IoC思想:InversionofControl,翻译为控制反转或反转控制,强调的是原来在程序中创建Bean的权利反转给第三方。
  例如:原来在程序中手动的去newUserServiceImpl(),手动的去newUserDaoImpl(),而根据IoC思想的指导,寻求一个第三方去创建UserServiceImpl对象和UserDaoImpl对象。这样程序与具体对象就失去的直接联系。
  谁去充当第三方角色呢?
  工厂设计模式,BeanFactory来充当第三方的角色,来产生Bean实例
  BeanFactory怎么知道产生哪些Bean实例呢?
  可以使用配置文件配置Bean的基本信息,BeanFactory根据配置文件来生产Bean实例
  例如,用IoC思想去反转UserServiceImpl的创建权,由原来程序中创建反转给通过BeanFactory去创建
  二、DI依赖注入思想的提出
  上面使用BeanFactory的方式已经实现的控制反转,将Bean的创建权交给了BeanFactory,如果我们想将UserDao的创建权也反转给BeanFactory,与此同时UserService内部还需要用到UserDao实例对象,那应该怎样操作呢?1)在程序中,通过BeanFactory获得UserService2)在程序中,通过BeanFactory获得UserDao3)在程序中,将UserDao设置给UserService
  该方式是否存在一些问题?
  UserService存在于BeanFactory中,UserDao也存在于BeanFactory中,可以在BeanFactory内部进行结合。
  将UserDao在BeanFactory内部设置给UserService的过程叫做注入,而UserService需要依赖UserDao的注入才能正常工作,这个过程叫做依赖注入。
  将UserDao在BeanFactory内部设置给UserService的过程叫做注入,而UserService需要依赖UserDao的注入才能正常工作,这个过程叫做依赖注入
  将UserDao在BeanFactory内部设置给UserService的过程叫做注入,而UserService需要依赖UserDao的注入才能正常工作,这个过程叫做依赖注入
  面试题:IoC和DI的关系?
  首先,先回答IoC和DI的是什么:IoC:InversionofControl,控制反转,将Bean的创建权由原来程序反转给第三方DI:DependencyInjection,依赖注入,某个Bean的完整创建依赖于其他Bean(或普通参数)的注入
  其次,在回答IoC和DI的关系:第一种观点:IoC强调的是Bean创建权的反转,而DI强调的是Bean的依赖关系,认为不是一回事第二种观点:IoC强调的是Bean创建权的反转,而DI强调的是通过注入的方式反转Bean的创建权,认为DI是IoC的其中一种实现方式三、AOP面向切面思想的提出
  IoC和DI思想主要是解决前面我们的困惑一,困惑二还没有解决
  困惑一:层与层之间紧密耦合再了一起,接口与具体实现紧密耦合在一起。
  解决思路:程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象
  困惑二:通用的事务耦合再业务代码中,通用的日纸功能耦合再业务代码中。
  解决思路:程序代码中不要手动new对象,第三方根据要求为程序提供需要的Bean对象的代理对象,代理对象内部动态结合业务和通用功能
  困惑二的解决方案是,借助于IoC思想,将Bean的创建权反转给BeanFactory,而BeanFactory生产的Bean是目标Bean的代理对象,这样就可以在代理对象中对目标对象方法进行相应的增强。
  AOP,AspectOrientedProgramming,面向切面编程,是对面向对象编程OOP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与属性、方法与方法、对象与对象都可以组成一个切面,而用这种思维去设计编程的方式叫做面向切面编程
  三种思想总结
  1)IoC控制反转,是将程序创建Bean的权利反转给第三方;
  2)DI依赖注入,某个完整Bean需要依赖于其他Bean(或属性)的注入;
  3)AOP面向切面编程,用横向抽取方法(属性、对象等)思想,组装成一个功能性切面。四、Ioc、DI、AOP思想提出框架概念的出现
  上面提出了一些思想来解决遇到的问题,而这些思想的实现就需要通过编码去落地,往往我们把具备一定业务领域解决方案的工具称为框架。
  框架的基本特点:框架(Framework),是基于基础技术之上,从众多业务中抽取出的通用解决方案;框架是一个半成品,使用框架规定的语法开发可以提高开发效率,可以用简单的代码就能完成复杂的基础业务;框架内部使用大量的设计模式、算法、底层代码操作技术,如反射、内省、xml解析、注解解析等;框架一般都具备扩展性;有了框架,我们可以将精力尽可能的投入在纯业务开发上而不用去费心技术实现以及一些辅助业务。
  Java中常用的框架:
  不同语言,不同领域都有属于自己的框架,使用框架开发是作为程序员的最基础的底线。Java语言中的框架,
  可以分为基础框架和服务框架:基础框架:完成基本业务操作的框架,如MyBatis、Spring、SpringMVC、Struts2、Hibernate等服务框架:特定领域的框架,一般还可以对外提供服务框架,如MQ、ES、Nacos等五、思想、框架和编码的关系
  架构师(高级程序员):把思想落地变为实现的人,例如上面的设计和BeanFactory的编写,即框架的设计和实现者。
  程序员:使用框架完成业务的人,其中UserServiceImpl、beans。xml、测试类都是我们编写的。六、Spring框架的诞生
  spring是一个开源的轻量级Java开发应用框架,可以简化企业级应用开发。Spring解决了开发者在JavaEE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及WebMVC等功能。是当前企业中Java开发几乎不能缺少的框架之一。Spring的生态极其完善,不管是Spring哪个领域的解决方案都是依附于在SpringFramework基础框架的。

人到老年,还能轻松做到这4件事,多半会长寿问题:怎么才能每天都收到这种文章呢?答案:只需要点击右上角关注即可。纵观寿命比较长的老年人,往往有相差无几的共性,主要是归结于些许事情方面,倘若既能够做到又能够轻松……中兴Axon30Ultra通过3C认证,支持66W快充IT之家4月13日消息中兴两款手机通过了国家3C认证,数码博主数码闲聊站透露其中ZTEA2022P这款机型即为中兴Axon30Ultra,配备全新充电器支持最高66W快充,协议……中兴Axon30系列超级月亮Ultra模式样张公布,同时可拍IT之家4月12日消息中兴Axon30系列手机将于4月15日发布,该系列手机将包含Axon30、Axon30Pro以及Axon30Ultra三种机型,预计将搭载骁龙888处理器……iQOO7荣获2021红点设计大奖,即日起全面现货售卖IT之家3月30日消息根据官方消息,iQOO7手机已经荣获2021红点设计大奖。这款手机采用AG玻璃打造,经过58道工序打磨而成,黑境款有着纳米级光刻纹理处理,具备立体观感,并……1699元起,iQOOZ3即将开售适配14款高帧率游戏IT之家3月29日消息iQOO上周推出了性能先锋iQOOZ3,该机将于本周四开启首销,其中6GB128GB版本售价1699元、8GB128GB版本售价1799元、8GB256G……10岁阿拉蕾穿汉服跳舞!身高优越五官好精致,4岁出道后年入百近日,童星阿拉蕾在社交平台上晒出一段穿汉服跳舞的视频,并配文问为什么自己跳舞妈妈总想笑,难道不美吗,结果被亲妈吐槽有点憨态可掬。当天,阿拉蕾穿着一件浅墨绿色的对襟褙子,搭……爆冷!法国13分惨败德国,夺冠热门意外翻船,戈贝尔被施罗德戏2022年男篮欧锦赛也是在昨晚正式打响,在死亡之组B组的一场焦点比赛中,夺冠大热门法国队迎战德国队,本届比赛法国队中有尼利基纳、文班亚马、阿尔比齐等多名球员退出了国家队,但即便……银行理财产品怎么买比较合适?怎么才能买到自己想要的银行理财?在经历了转型之后,银行理财的面貌可以说是焕然一新了。正因如此,对投资者来说买银行理财的方法也应该有所改变。那么,银行理财怎么买比较合适呢?银行理财怎么买比较合适?首……张国全再回应小米10Pro音频从DXO版本到现在没有改变过IT之家6月29日消息今天下午,小米手机系统软件部总监张国全微博发文表示,继续说小米10音频。上次测试,部分同学提出两个有差异的版本,我们约实验室做了测试,另外一些同学还是不满……MIXFold3发布时间定了8月登场用上屏下镜头距离上代的小米MIXFold2发布已经有段时间了,换代新品MIXFold3也已经在路上,据博主数码闲聊站爆料,小米MIXFold3发布时间跟去年MIXFold2的自然月发布时间……小米Redmi9国行一大波配置官宣联发科HelioG80,1感谢IT之家网友purelv的线索投递!IT之家6月23日消息近期,Redmi红米手机官方正式宣布了Redmi9国行手机,号称定义2020年入门机新标准。将在6月24日上……董明珠反驳雷军风口飞猪论我认为会掉下来IT之家6月18日消息昨日格力电器董事长兼总裁董明珠在接受新浪财经采访中就雷军的相关观点以及格力手机发展做出了解答。董明珠认为,雷军风口飞猪论中的猪即使飞上天也会掉下来。……
2022年我需要双2。5G网口WiFi6无线路由器本内容来源于什么值得买APP,观点仅代表作者本人作者:小喵鹿前言上一次有人问我说怎么不推荐TPLINK啊,也有人问我说怎么都是单2。5G网口啊。这次补齐,看看双2。……意外!申花刚在转会市场放上一条大鱼,就被其他球队迅速抢走上海申花在新赛季中超第二阶段首轮表现不错,球队在缺兵少将的情况下,依然逼平了实力不俗的亚泰。尤其是申花在比赛中还接连被罚下两人的情况下,球队展现出了顽强的斗志。这是让很多球迷都……Jelly2体验小到极致的智能手机,竟然还能玩原神已经2021年了,还有人对小屏旗舰情有独钟。苹果推出了iPhone12mini,三星有GalaxyS21,魅族最近的魅族18也主打轻薄。不过现在的小屏其实是个相对概念,比大杯、……中国最好吃的十大小城,名字都带州极物君语:熟悉邓丽君的人,一定都听过这首曲调婉转的歌:小城故事多,充满喜和乐若是你到小城来,收获特别多最动人的故事,总藏匿在不起眼的烟火中;而最鲜活的风……文案他只不过是随手摘了朵花,你却红了脸想要以余生为礼。宇宙真谦虚,明明什么都有,却还是叫太空。人生最怕,相见恨晚,爱而不得,没有未来。有一个夜晚我烧毁了所有的记忆,从此我的梦就透明了。命运虚晃一枪,又是大梦一场。……OPPOA745G曝光90Hz屏幕后置四摄,售价约2240元IT之家4月4日消息上个月,OPPOA74手机得到曝光,该机分为4G版和5G版,其中4G版搭载了高通骁龙662处理器,配备了5000mAh电池,而5G版的处理器替换为骁龙480……麒麟9000终于不再绝版了!新一代麒麟芯片曝光将命名为麒麟9【6月26日讯】相信大家都知道,自从华为被列入到了漂亮国的实体清单以后,直接让全世界重新认识了华为,也让全世界重新认识了美国。其实华为创始人任正非早在2003年就曾意识到,这个……四川5大名吃,全是川菜的招牌,四川人吃不腻,外地人吃了也爱上四川有各种各样的名胜风景吸引着各地游客,还有数不清的美食让游客们恋恋不忘,川菜近年来更是走遍各地,深受大众的喜爱,四川的5大名吃,全是川菜的招牌,四川人吃不腻,外地人吃了也爱上……5999元起,小米11Ultra正式发布,自称安卓之光IT之家3月29日消息在今日的小米春季发布会也是手机和相机的拐点之战上,小米正式推出了小米11Pro和小米11Ultra两款机型,小米11Pro号称安卓机皇,而雷军将小米11U……4999元起,小米11Pro正式发布骁龙888处理器,目标安IT之家3月29日消息在今晚的春季新品发布会上,小米刚刚发布了小米11系列的大杯小米11Pro,产品设计目标为安卓机皇。外观小米11Pro外观设计方面与小米11类似,拥有……不容乐观!乔治膝盖反关节扭伤,威少恐将终身无冠,快船难进季后不容乐观!乔治膝盖反关节扭伤,威少恐将终身无冠,快船难进季后赛?北京时间3月22日,NBA常规赛迎来一场焦点之战,雷霆前往客场挑战洛杉矶快船,雷霆队以35负位列西部第9位……小米MIXFold宣传页曝光2K内折屏液态镜头IT之家3月30日消息昨晚的小米春季发布会上,小米发布了三款小米11系列手机,今晚19:30小米还将举行另外一场发布会,届时大家期待的折叠屏小米MIX新机将正式发布,现在关于该……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网