问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请你谈谈对spring的理解?

发布网友 发布时间:2022-05-01 22:34

我来回答

7个回答

热心网友 时间:2022-04-11 15:00

1.解释spring的ioc? 几种注入依赖的方式?spring的优点?

IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同

时,要是产生的是单例的bean,他还可以给管理bean的生命周期!

spring的IOC有三种注入方式 :

第一是根据属性注入 也叫set方法注入;
第二种是根据构造方法进行注入;

第三种是根据注解进行注入,这种方式我认为比较好,方便,要是bean多的话,使用前两种方式会使得配置文件过于臃肿。

Spring的优点:主要是根据它的IOC和AOP体现的。我感觉他就是把我们以前用到的工厂模式和代理模式进行了一个封装。
IOC主要是解决了代码的耦合性问题,而AOP是面向切面编程的最好解释!

2.解释Spring中IOC, DI, AOP
ioc就是控制翻转或是依赖注入。通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,

而是通过spring的bean工厂为你长生这样一个对象。

aop就是面向切面的编程。比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类,
那你每一类中都要写关于日志的方法。但是如果你用aop,那么你可以写一个方法,在这个方法中有关于数据库操作的方法,
每一次调用这个方法的时候,就加上生成日志的操作。

3.spring的ioc/aop/代理
ioc是控制反转,是spring的核心思想。通过面向接口编程来实现对业务组件的动态依赖。 aop是面向

切面编程,它并不是只在spring或者java中才有的,它和面向对象编程(oop)是相对而言的另一种编程思想。

spring在实现aop编程时利用的是java的代理机制。 个人觉得java代理机制真的是很神奇。核心内容并不多

4.spring的ioc是解耦,aop是干什么的
AOP面向切面编程 将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。
比如: 很多方法可能会抛异常,你要记录这个异常到日志中去,可以写个*类,在这个类中记录日志,
在spring.xml中配置一个对这些要记录日志的方法的aop* 在这个方法执行后调用这个*,记录日志。
这样就不用每次抛异常都要手动记录日志。 spring的事务管理用到的就是aop 这样也可以提高程序的内聚性。

5.讲解一下Java中Spring中IOC和AOP
IoC:说直白点,就是通过配置文件(XML或.properties)指定需要实例化的JAVA类(类名的完整字符串),
包括该JAVA类的一组初始化值,然后我们在代码中加载该配置文件,然后通过 .getBean() 函数就可以得到一个该JAVA类的对象,
并且该对象已经根据配置文件中指定的属性值进行了初始化。

AOP:这个比IoC更简单,直白点说就是实现调用某个方法之前或/和之后,自动执行一系列自定义的语句

6.简述Spring框架中IOC和AOP
IOC:控制反转,是一种设计模式。一层含义是控制权的转移:由传统的在程序中控制依赖转移到由容器来控制;
第二层是依赖注入:将相互依赖的对象分离,在spring配置文件中描述他们的依赖关系。他们的依赖关系只在使用的时候才建立。

AOP:面向切面,是一种编程思想,OOP的延续。将系统中非核心的业务提取出来,进行单独处理。比如事务、日志和安全等。
Spring 的AOP和IOC都是为了解决系统代码耦合度过高的问题。使代码重用度高、易于维护。
不过AOP和IOC并不是spring中特有的,只是spring把他们应用的更灵活方便 。

热心网友 时间:2022-04-11 16:18

spring:

1)开源框架。

2)IoC(控制反转),将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合。

3)AOP 将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,实现了按照方面编程,提高了复用性。

如果按着概念来回答的话:

spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented 。

Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。

面试的人会问到:struts跟spring的区别?

structs:和ww2等一样,都是典型的mvc结构框架,至于mvc是什么,地球人都知道,如果你不知道就google吧:),structs偏重于表现层,它自己起一个控制器的作用即controller,它可以良好的把表现层与业务层分离开来。 


spring:说白了就是一个大杂烩,提供了目前各种流行框架的集成,经典的有对hibernate的集成,此外,如mail,axis...各种都有。另外,它比较经典的就是IOC与AOP的功能,楼上已经有人说了,如果你不知道,去google。此外,它还提供了Spring MVC,它基于webflow,至于用法,去查它的文档。 


structs的actionform是公认的败笔,我用得痛苦得不得了。 


另外,你说的重复提交,那是浏览器的问题,和structs无关。看你如何指挥浏览器了,如果你用redirect,就没有重复提交的问题,因为浏览器已经重定向了。但是你用forward,那在你刷新的时候就是重复提交。 


Spring比较偏重于业务层,在页面上一般是不显示出来的。当然,如果你用Spring的MVC例外。

热心网友 时间:2022-04-11 17:53

可以参考网页链接

热心网友 时间:2022-04-11 19:44

打算买HTC手机,看上G14了,用过的介绍一下。HTC手机买行货值吗?

热心网友 时间:2022-04-11 21:52

春天 ~

热心网友 时间:2022-04-12 00:17

丫头,你没事闲的狠是吧

热心网友 时间:2022-04-12 02:58

春天的意思!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
成都汇众益智游戏学院怎么样 为什么苹果手机屏幕老是自动滚上去? roughness test什么意思 国家标准打印纸为每包500张,小雨同学家里新买—包打印 纸,她想练习... 谁知道卡布奇诺含义 卡布奇诺咖啡历史 电脑针式打印纸有哪些规格? 外籍人才招聘 接种甲肝疫苗会出现什么不良反应 中华人民共和国境内的任何人均应接种哪些疫苗 macbook air 键盘可以散热么 笔记本大多散热是从键盘上空隙散热吗?若是,用塑料薄膜盖上防层不利于散热? 如何理解IOC 笔记本是通过键盘散热么? 联想G450T6600键盘散热吗? ThinkPad的键盘能够散热,其散热的原理是什么? 笔记本散热不好的话键盘会很烫吗,反之键盘不烫,那就说明散热良好对吗? THINKPAD笔记本键盘散热吗? struts2的ioc怎么理解 如何理解spring的ioc及di 简述你对IoC(Inversion of Control)的理解。 笔记本键盘烫是散热不好吗? 笔记本电脑的键盘都支持散热吗? 流量m 和mb 那个大 请试过贴双眼皮贴的人进来帮忙!! 我是电气大三的学生,怎么备战2020南方电网招聘,会考些什么啊? 深圳市南方硅谷微电子有限公司怎么样? 未来5年最容易发财致富的领域有哪些 南方科技大学电子信息工程怎么样 有人听说过先进光半导体吗? (先进光半导体)深圳公司!!! 无线键盘要散热么 戴尔笔记本键盘散热吗? 如何理解spring ioc容器 刚买的戴尔的上网本 键盘在使用过程中发热正常吗 关于C#中的数据库连接如何配置 Spring的Ioc注入理解 关于上网本键盘的散热 关于spring的IOC容器,初学,有些不理解? 笔记本外设键盘有助于散热吗 更新了steam怎么拉好友进队没反应 生化危机6 steam加入了好友后 邀请好友 有个短信息 点了接受邀请没反应 Steam影子武士2无法邀请好友怎么办? win10怎么开机自动打开校园网登录页面 诗经中带一字的名字 小米2s响铃时振动什么意思 诗经名句取名,女孩,姓贺,带注释出处,谢谢了! 响铃模式震动,是什么意思? 诗经名句或其它诗词,女孩取名,父姓王。带出处,谢谢! 我设置的是来电响铃,但是来电的时候却是震动,这是怎么回事? 什么是响铃模式振动