周四给小组简单介绍了一下Spring,讨论当中有几个关于Spring的问题,这里简单的总结一下:
1.IoC的概念。找女朋友的哪个例子不是很恰当,不是说告诉婚姻介绍所找个什么样的,它就能够找到符合你要求的ppmm。事实上,应该是你告诉它说我要的是什么样的女子,哪个叫ltt的就很好,然后哪个婚姻介绍所就可以把你要的哪个ltt给找过来。婚姻介绍所目前还不能做到这么智能。换句话说,就是Spring Container是根据我们在config中配置的Bean的依赖关系来将Bean注入到你的代码中,而不是配置interface:)
2.IoC好处。IoC不是关于程序构建的方法,而是组织程序和组件的方法。在具体构建一个组件或者J2EE框架中的一个分层的时候,可能并不会用到IoC。但是,在粘合各个分层的时候,为了提升组件的可重用性,我们会提炼出各个分层的接口,然后用IoC的方法将各个分层粘合起来。如果需要分层的不同实现的时候,只需要在配置文件中配置分层之间的依赖就可以,不需要改动源代码:),这对于粘合很多遗留系统来说应该是相当不错。
3.Spring不只是IoC。如果Spring只是提供了一个IoC的容器,那么也不会有这么强的应用。关键的事,Spring为方便J2EE开发做出了很多非常好的贡献,不如他提供的ORM封装,JDBC封装,DAO封装,我想,这才是简化大家开发工作的地方:)。光有一个IoC容器是不够的,就如同Eclipse如果只有底层的Platform Plugin SDK,但是没有很好的应用,没有做出JDT,也就不会有Eclipse现在的成功。因此,Spring成功不仅仅是因为IoC,而是他解决了J2EE的开发问题:)
4.BeanFactory类似于PluginManager,BeanDefinition类似于Plugin,Bean.xsd就是BeanDefinition的描述文件的Schema文件,规定了Bean是什么:)BeanFactory解析bean描述文件来管理Bean,因为Bean其实就是对象,那么,说白了就是管理对象以及对象之间的关系,包括对象生命周期的管理以及对象之间的依赖关系,继承关系等。具体就有对象的初始化问题,对象声明周期回掉点的问题,对象访问容器的问题,对象依赖关系的设置,依赖对象的初始化问题等等。
今天又看到xiaxin写的关于Spring的开发指南了,感觉短小精悍,真是不错,推荐一下,呵呵:)
分享到:
相关推荐
在Spring框架中,加载顺序是理解应用程序启动过程的关键部分,涉及到bean的实例化、初始化以及依赖注入等多个环节。本文将详细探讨Spring加载顺序,并结合`@PostConstruct`、`构造方法`以及`@Autowired`等关键注解...
在IT行业中,Spring框架是Java企业级应用开发的首选,而Spring MVC是Spring框架的一个重要模块,用于构建Web应用程序。本文将深入探讨Spring与Spring MVC的整合配置,并结合标签"源码"和"工具"来解析相关的技术细节...
CS537 SP2021 DIS-315材料 胡冠州2021版权所有 UW-Madison CS537 OS 2021Spring讨论部分DIS-315的支持材料。 请在w*/查看每周的资料。 链接: xv6 MIT公开发布-x86版本: : C标准库参考: :
"Spring Microservices in Action-Manning.pdf"则可能深入讨论Spring Cloud在构建微服务架构中的作用。Spring Cloud提供了一套工具集,用于快速实现服务发现、配置管理、断路器模式、智能路由、负载均衡、分布式会话...
"SpringTest_springtest_spring_java_Framework_"这个标题暗示了我们讨论的是关于Spring框架的测试方面,可能是使用Spring进行单元测试或集成测试的一些实践。 描述中的“简单小应用,实现了一些基本的功能”可能是...
此外,还将讨论Spring Data,一个用于简化数据访问的项目,支持多种数据存储技术,如关系型数据库、NoSQL和图数据库。 在事务管理方面,Spring提供了编程式和声明式两种事务管理方式,书中有详细的解释和示例,帮助...
书中除了可能包含基础入门知识外,也很可能涵盖了对于Spring Boot高级特性的讨论,比如微服务架构和响应式编程的实践,这些内容在当下Java开发领域中非常流行且具有实际应用价值。 标签“spring boot”、“java”、...
接下来,我们讨论Spring的面向切面编程(AOP)。AOP允许我们在不修改业务代码的情况下,实现如日志记录、事务管理等跨切面的功能。在Spring 4.3中,AOP支持了更多元化的切面定义,包括基于注解的切面和基于XML的切面...
标题中的"spring_springweb_"暗示了我们正在讨论Spring框架的一个特定部分,即Spring Web模块。Spring Web是Spring框架的核心部分之一,它提供了构建Web应用程序的基础。它包括Servlet监听器、DispatcherServlet、...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具包,它为开发者提供了在分布式系统(如配置管理、服务...在学习过程中,遇到问题不要怕,多查阅文档,参与社区讨论,你的技能将得到显著提升。祝你学习愉快!
但可以明确的是,《Spring技术内幕第2版》这本书必定会围绕Spring框架的设计哲学、组件结构、架构模式以及最佳实践等方面展开深入讨论,旨在帮助开发者不仅了解如何使用Spring框架,还能够理解其背后的原理和设计...
《Learning Spring Boot 3.0 - 第三版》是...书中还会深入讨论Spring Boot的核心特性,比如自动配置、健康检查、内嵌的Tomcat或Jetty服务器、Spring MVC用于构建RESTful API,以及数据访问层的集成,包括JPA和Hibernat
`spring_dao.txt`可能会讨论这些模板类的用法,包括如何执行SQL查询、事务管理等。 4. **Spring与Hibernate的集成**: Spring通过HibernateTemplate和HibernateDaoSupport简化了Hibernate的使用。`spring集成...
- **与 Spring Integration 的集成:** 讨论了如何使用 Spring Integration 与 JMS 进行集成,实现更高级别的消息传递。 - **高级主题:** 探索了使用 JMS 进行事务管理和消息持久化的高级技术。 **10: 发送和接收...
本书还将讨论Spring Security,这是一个强大的安全框架,用于保护Spring应用程序免受各种安全威胁。读者将了解到如何配置和使用Spring Security进行认证和授权。 最后,书中可能包含一些高级话题,如Spring Cloud,...
这里我们将详细讨论Spring MVC、Spring Data以及JPA和Hibernate的关系和用法。 首先,Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。它遵循模型-视图-控制器(MVC)设计模式,提供了一种分层架构,...
本书主要介绍了Spring 3.0的核心内容,不仅讲解了Spring 3.0的基础知识,还深入讨论了Spring IoC容器、Spring AOP、使用Spring JDBC访问数据库、集成Hibernate、Spring的事务管理、Spring MVC、单元测试、敏捷开发...
接下来,我们将讨论如何在Spring Boot项目中使用`@Configurable`。首先,你需要在`pom.xml`或`build.gradle`文件中添加AspectJ的依赖,以便引入必要的编译和运行时库。然后,需要在Spring Boot的主配置类上启用...
接下来,我们将讨论几个关键知识点: 1. **实体(Entities)**:在Spring Data JPA中,实体是数据库表的映射。通过在类上添加`@Entity`注解,我们可以声明一个Java类为数据库表的代表。`@Id`注解用于标识主键字段。...
6. **Spring Boot**:讨论了Spring Boot的自动化配置、起步依赖和Actuator等特性,以及如何快速创建可生产的Spring应用。 7. **Spring Security**:深入讲解了Spring的安全管理框架,包括认证、授权、会话管理、...