spring怎么提出来的

worktile 其他 26

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    Spring 是一个基于 Java 平台的开源应用程序框架,主要用于简化 Java 开发。Spring 的诞生可以追溯到 Rod Johnson 在他的著作《Expert One-on-One J2EE Design and Development》中所提出的一些理念。这本书于2002年出版,其中提出了一种基于依赖注入(Dependency Injection)的轻量级开发模式。而这正是 Spring 框架的核心理念之一。

    在原始的 Java 开发中,对象之间的依赖关系通常通过手动进行对象的创建和管理来实现。而依赖注入则是通过将对象的创建和管理交给 Spring 框架来实现,开发者只需要在代码中声明需要依赖的对象,而不再需要自己去实例化和管理这些对象。

    基于依赖注入的开发方式,使得我们的代码变得简洁、解耦,提高了代码的可维护性和可测试性。而 Spring 框架则负责管理对象的生命周期、解决对象之间的依赖关系,以及提供了很多其他的功能模块,如事务管理、面向切面编程等。

    Spring 框架的核心容器是 Spring IOC(Inversion of Control),它负责管理 Spring Bean。Spring 的 IOC 容器使用了反转控制的思想,即将对象的创建、依赖关系的管理交给了框架来控制,而不是由开发者手动管理。通过配置文件或者注解的方式,开发者可以告诉 Spring 如何创建和管理对象。

    除了 IOC 容器之外,Spring 还提供了其他的功能模块,如 Spring MVC、Spring Data、Spring Security 等,这些模块可以根据开发的需求进行灵活的选择和集成,使得开发变得更加高效和便捷。

    总而言之,Spring 的提出是为了简化 Java 开发,通过依赖注入等设计模式使得代码更加简洁、解耦,在开发过程中提供了丰富的功能模块以及良好的扩展性。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Spring是一个轻量级的开源框架,它由Rod Johnson在2003年提出。下面是Spring框架提出的背景和过程:

    1. 背景:在2000年代初期,Java开发面临着一些问题,如低效率的开发流程、复杂的配置和依赖管理、繁琐的事务管理等。为了解决这些问题,Rod Johnson开始研究并思考如何简化Java开发过程。

    2. 提出:2002年,Rod Johnson在其著作《Expert One-on-One J2EE Development without EJB》中提出了一个名为"Framework for Application Development"的概念,这个概念成为了后来的Spring框架的雏形。在这本书中,Rod Johnson批评了当时流行的EJB(Enterprise JavaBeans)模型,认为其过于复杂和难以使用。他提出了一种更为简化和灵活的开发模式,即面向接口的编程。

    3. 发展:基于他的想法,Rod Johnson开始开发一个称为"Interface21"的框架,旨在简化Java开发过程。后来,这个框架的名称被改为Spring,并于2004年发布了第一个正式版本。

    4. 特点:Spring框架提供了许多特性和功能,包括:轻量级、非侵入性、面向切面编程、依赖注入、控制反转、模块化开发、简化配置等。这些特性使得开发者可以更加高效、灵活地开发Java应用程序。

    5. 成功:Spring框架迅速得到了Java开发者的认可和广泛应用,成为当时最受欢迎的Java开发框架之一。随后,Spring生态系统不断壮大,包括Spring MVC、Spring Boot等相关项目的发展。Spring框架的成功得益于其提供了一种更加简化、灵活而高效的开发模式,满足了Java开发者对于提高开发效率和降低复杂性的需求。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Spring是由Rod Johnson在2002年创建的,最初是作为一个简化Java企业应用开发的框架。当时,Java企业应用开发非常复杂,需要大量的配置和样板代码。Rod Johnson设计了Spring框架,以便简化这些任务并提高开发效率。

    Spring的设计思想是基于依赖注入(Dependency Injection)和面向切面编程(Aspect-Oriented Programming)。依赖注入通过解耦组件之间的依赖关系,使得组件可以被独立测试和重用。面向切面编程通过将横切逻辑(比如日志、事务管理等)从业务逻辑中分离出来,提高代码的可维护性和重用性。

    Spring框架包含多个模块,每个模块都提供不同的功能。下面是Spring框架的核心模块:

    1. Spring核心容器(Core Container):提供依赖注入和控制反转的功能。核心容器包含BeanFactory和ApplicationContext两个主要接口。BeanFactory是Spring的基础设施的核心接口,提供了对象的创建、配置和管理;ApplicationContext是BeanFactory的子接口,增加了更多的企业级特性,比如国际化、事件发布、资源加载等。

    2. Spring AOP(Aspect Oriented Programming):提供面向切面编程的支持。通过AOP,我们可以将横切逻辑模块化,并将其应用到多个对象中,避免重复的代码。

    3. Spring JDBC(Java Database Connectivity):提供了对JDBC的封装,简化了数据库访问的代码。通过Spring JDBC,我们可以使用简单的模板方法来执行数据库操作,而不需要编写大量的样板代码。

    4. Spring ORM(Object-Relational Mapping):提供了对多种ORM框架的支持,比如Hibernate、MyBatis等。Spring ORM简化了使用这些ORM框架的配置和使用,并提供了一致的事务管理。

    5. Spring Web:提供了对Web应用开发的支持,包括MVC框架、Web服务、WebSocket等。Spring MVC是Spring的一个子项目,提供了一种基于模型-视图-控制器(Model-View-Controller)的Web应用开发模式。

    除了核心模块,Spring还有许多其他的模块,如Spring Security用于身份认证和授权、Spring Batch用于批处理任务、Spring Integration用于集成不同的系统等。

    总结来说,Spring是通过提供依赖注入和面向切面编程等功能,简化了Java企业级应用开发的框架。它提供了多个模块来支持不同的功能,使得开发人员可以更加专注于业务逻辑的实现,而不需要关注复杂的底层实现和配置。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部