java# 认识spring# spring核心基础篇

spring核心概念介绍

  • IOC(核心中的核心): incerse of contol 控制反转。对象的创建权力由程序反转给spring框架。

  • DI: Dependency injection,依赖注入。在spring框架负责创建对象时,动态的将依赖对象注入Bean组件中。

  • AOP: Aspect Oriented programming, 面向切面编程,在不修改目标对象的源代码情况下,增强IOC容器中的Bean的功能。

  • Spring容器:指的是IOC容器,底层也就是一个BeanFactory.

核心基础篇

IOC配置

在spring的xml文件中通过一个bean标签,完成IOC的配置。

bean标签介绍
  • bean标签作用:用户配置被spring容器管理的bean的信息。默认情况下它调用的是类中的无参构造函数实例化。如果没有无参构造则不能创建成功。
  • bean标签属性:
    • id:给对象在容器中提供一个唯一标识,用于获取对象。
    • class: 指定类的全限定名。用于反射创建对象。默认情况下调用无参构造函数。
    • init-moth:指定类中的初始化方法名称。
    • destroy-method:指定类中销毁方法名称。比如dataSource的配置中一般需要指定destroy-method = 'close'。
    • scope:指定对象作用范围
      • singletion:默认值,单例的,生命周期如下:
        • 对象出生:当应用加载,创建容器时,对象就被创建了。
        • 对象活着:只要容器在,对象一直或者。
        • 对象死亡:当应用定制,销毁容器时,对象就被销毁了。
      • prototype:多例的,每次访问对象时,都会重新创建对象实例。生命周期如下:
        • 对象出生:当使用对象时,创建新的对象示例。
        • 对象活着:只要对象在使用,就一直存活着。
        • 对象死亡:当对象长时间不用时,被java的垃圾回收器回收了。
      • request:将spring创建的bean对象存入到request域中。
      • session:将spring创建的bean对象存入到session域中。
      • global seession:WEB项目中,应用在portlet环境。如果没有Portlert环境那么globalSession相当于session.

DI配置

DI介绍

依赖指的时Bean示例中的属性。当我们将对象的实例化交给spring来管理时(IOC)。对象的属性赋值同样需要交给bean来实现。简单来说就是依赖注入是IOC的具体实现。

依赖注入方式
  1. 构造函数注入(需要配置文件配置)
    顾名思义,就是通过有参构造函数,给成员变量赋值。注意:赋值的操作不是我们做得,而是通过配置的方式,让spring框架来为我们注入。
  2. set方法注入
  • 手动装配方式(XML方式):需要配置bean标签的子标签property,需要配置bean中指定的setter方法。
  • 自动装配方式(注解方式):
    • @Autowired: 根据bean的类型从容器中获取实例并给另一个实例的属性赋值。注意:一个java类型在同一个spring容器中只能存在一个示例。
    • @Resource: 根据bean的名称从容器中获取实例并给另一个
    • @Inject: 使用p名称空间注入数据
原文地址:https://www.cnblogs.com/xy-c/p/14317521.html