Spring框架知识整理(一)之用途

一、Spring IOC容器:

Spring IOC 负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。

  1. BeanFactory 容器
    为依赖注入 (DI) 提供支持。
  2. ApplicationContext 容器
    是 BeanFactory 的子接口,也被称为 Spring 上下文。它可以加载配置文件中定义的bean,并将所有bean集中在一起,当有请求的时候分配bean。另外,它增加了企业所需要的功能,比如,从属性文件从解析文本信息和将事件传递给所指定的监听器。这个容器在ApplicationContext包含BeanFactory所有的功能。
  3. Spring Bean
    被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的。bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。

二、Spring依赖注入:

通过依赖注入的方式来管理Bean之间的依赖关系。当编写一个复杂的 Java 应用程序时,依赖注入有助于把这些类粘合在一起,同时保持他们独立。

  1. Spring 基于构造函数的依赖注入
  2. Spring 基于设值函数的依赖注入
  3. 注入内部 Beans
  4. 注入集合

三、Spring Beans 自动装配

  1. Spring 自动装配 ‘byName’
  2. Spring 自动装配 ‘byType’
  3. Spring 由构造函数自动装配

四、Spring 基于注解的配置

  1. @Required 注释
    应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。

  2. @Autowired 注释
    Setter 方法中的 @Autowired
    可以在 XML 文件中的 setter 方法中使用 @Autowired 注释来除去元素。当Spring遇到一个在 setter 方法中使用的 @Autowired 注释,它会在方法中视图执行 byType 自动连接。
    属性中的 @Autowired
    可以在属性中使用 @Autowired 注释来除去 setter 方法。当时使用为自动连接属性传递的时候,Spring 会将这些传递过来的值或者引用自动分配给那些属性。
    构造函数中的 @Autowired
    可以在构造函数中使用 @Autowired。一个构造函数 @Autowired 说明当创建 bean 时,即使在 XML 文件中没有使用 元素配置 bean ,构造函数也会被自动连接。

  3. Spring @Qualifier 注释
    当你创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除混乱。

  4. Spring JSR-250 注释
    @PostConstruct 和 @PreDestroy 注释:
    为了定义一个 bean 的安装和卸载,我们使用 init-method 和/或 destroy-method 参数简单的声明一下 。init-method 属性指定了一个方法,该方法在 bean 的实例化阶段会立即被调用。同样地,destroy-method 指定了一个方法,该方法只在一个 bean 从容器中删除之前被调用。可以使用 @PostConstruct 注释作为初始化回调函数的一个替代,@PreDestroy 注释作为销毁回调函数的一个替代。
    @Resource 注释:
    可以在字段中或者 setter 方法中使用 @Resource 注释,它和在 Java EE 5 中的运作是一样的。@Resource 注释使用一个 ‘name’ 属性,该属性以一个 bean 名称的形式被注入。

  5. 基于 Java 的配置
    @Configuration 和 @Bean 注解
    带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。
    @Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。
    @Import 注解
    @import 注解允许从另一个配置类中加载 @Bean 定义。

  6. Spring 中的事件处理
    Spring 的核心是 ApplicationContext,它负责管理 beans 的完整生命周期。当加载 beans 时,ApplicationContext 发布某些类型的事件。例如,当上下文启动时,ContextStartedEvent 发布,当上下文停止时,ContextStoppedEvent 发布。通过 ApplicationEvent 类和 ApplicationListener 接口来提供在 ApplicationContext 中处理事件。如果一个 bean 实现 ApplicationListener,那么每次 ApplicationEvent 被发布到 ApplicationContext 上,那个 bean 会被通知。
    监听上下文事件
    为了监听上下文事件,一个 bean 应该实现只有一个方法 onApplicationEvent() 的 ApplicationListener 接口。

  7. Spring 中的自定义事件
    编写和发布自己的自定义事件。

五、Spring 框架的 AOP

Spring AOP 模块提供拦截器来拦截一个应用程序,例如,当执行一个方法时,你可以在方法执行之前或之后添加额外的功能。

  1. Spring 中基于 AOP 的 XML架构
  2. Spring 中基于 AOP 的 @AspectJ

六、JDBC 框架

在使用普通的 JDBC 数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关闭数据库连接等。但 Spring JDBC 框架负责所有的低层细节,从开始打开连接,准备和执行 SQL 语句,处理异常,处理事务,到最后关闭连接。

七、事务管理

事务管理是一个重要组成部分,RDBMS 面向企业应用程序,以确保数据完整性和一致性。

八、MVC 框架教程

Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活、松散耦合的 web 应用程序的组件。MVC 模式导致了应用程序的不同方面(输入逻辑、业务逻辑和 UI 逻辑)的分离,同时提供了在这些元素之间的松散耦合。

  • 模型:封装了应用程序数据,并且通常它们由 POJO 组成。
  • 视图:主要用于呈现模型数据,并且通常它生成客户端的浏览器可以解释的 HTML。
  • 输出:控制器主要用于处理用户请求,并且构建合适的模型并将其传递到视图呈现。

下一篇是《Spring框架知识整理(二)之准备工作》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吟诗作对歌一曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值