本文目录一览:
Java框架Spring是用来干什么的?
spring就是作为容器去管理你的类,有spring管理的类在整个服务器启动期间在内存中只生成一份。
Spring的Ioc(控制反转和依赖注入)
控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直
接操控。
依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注
入到组件之中。通俗点说,例如A,B两个类都交由spring管理,A中有B的引用,那么在配置中可以事先配置好,服务器启动时初始化A的时候会自动将B注入到A中,而不用再A中再次去用new来初始化B。spring还可以对事物进行管理。将hibernate的sessionFactory交由spring进行管理。她封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由Spring容器来管理,大大减少了程序员的代码量,也对事务有了很好的管理控制。
请问有谁知道java里spring的理解怎么回答吗?
通俗一点,首先spring是一个轻量级的容器,用来放bean,这一点很好理解。
有了这个容器,当我们想要创建一个service时,就可以直接从这个容器里拿;或者你想在一个service里调用DAO也不需要在service里创建,因为spring会从容器取出DAO,并注入到service里,也就是依赖注入。
调用者和被调用者之间的关系也是由这个容器来维护的,这就是控制反转。
spring核心的东西:依赖注入 、控制反转、面向切面
前面2个用的比较多,面向切面也就在数据库的声明式事务管理、记录日志的时候用
Java核心技术:Spring是什么?
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring就是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 下面从整体上认识一下Spring的主要特征: *轻量:从大小与开销两方面而言Spring都是轻量的。此外,Spring是非侵入式的:使用Spring,我们的类还是pojo类,完全不用继承和实现Spring的类和接口等。 也就是说,使用Spring的应用中的对象不依赖于Spring的特定类。 *IoC:Spring通过控制反转技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以认为IoC与JNDI相反--不是我们自己控制对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它,这就是DI--依赖注入。 基本上就是对象不用自己动手管理和创建。完全由容器管理,我们只管用就行。 *AOP:Spring提供了面向切面的编程支持,AOP将与程序业务无关的内容分离提取,应用对象只实现它们应该做的--完成业务逻辑--仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持。 AOP将与业务无关的逻辑横切进真正的逻辑中。 *框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),而用户就有更多的时间和精力去开发应用逻辑。 所有Spring的这些特征都能帮助我们够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。 *借助Spring,荣国依赖注入,AOP应用,面向接口编程,来降低业务组件之间的耦合度,增强系统的扩展性。 * 让已有的技术和框架更加易用。 *利用其对hibernate的SessionFactory、事务管理的封装,更简洁的应用hibernate. *Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部 *利用AOP思想,集中处理业务逻辑,减少重复代码,构建优雅的解决方案。 *低侵入式设计,代码污染极低。 Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的"一站式"选择,并贯穿表现层、业务层及持久层。 虽然Spring可以一站式解决整个项目问题,但是Spring并不想取代那些已有的框架,而是与它们无缝地整合。Spring可以降低各种框架的使用难度,他提供了对各种优秀框架(如Struts、Hibernate、Hessian、Quartz等)的直接支持。 使用Spring的主要目的是使J2EE易用和促进好的编程习惯,Spring的目标就是让已有的技术更加易用。 所以Spring的一个重要思想就是整合和兼容。
java为什么要用spring
这些是框架 不用程序也可以写出来! 但是用了以后会给我们提供很大的便利
这就是一个公司的架构师为什么能赚那么多钱的原因。 好的框架可以大大简化开发难度、有很强的扩展性和可维护性!
Hibernate,不用它用JDBC也可以从数据库查到数据,但是一张表有好多字段甚至是还要级联查询的话,JDBC代码写起来就有一定的困难了. 而用Hibernate以后,我们需要的只是配置好实体类与表的映射关系,类与类之间的关联关系! 我们需要写的查询或插入语句就会很简单,只是很简单的一句hql解决问题。程序员可以更多的关注业务逻辑,从繁琐的sql代码中解脱出来,大大简化开发难度。
Struts:MVC框架使得程序分成“相对”独立地三层,利于大家分工协作。控制器与前台展示相分离,提高系统的可重用性和扩展性!
Spring: 优点太大了, 切面编程--灵活插入代码 依赖-注入--通过配置装载类的实例,大大降低类与类之间的耦合,易于维护和扩展 强大的事务管理功能 对其他框架的良好支持 。。。。。。这些都可以大大简化我们的开发!
学习框架,最重要的是学习它们优秀的设计思想,融会贯通然后可以在你的项目中运用这些思想!