栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring基本概述

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring基本概述

控制反转。

 

因为用户业务的不断变化,我们需要不断修改大量源代码。原来是程序控制创建对象,在程序中是写死的,利用set接口进行动态实现值的注入。原来的方式对象是由程序主动创建的,主动权在程序猿,使用set注入后,程序不再具有主动性,而是变成了被动的接收对象,主动权在用户。不用再手动管理对象的创建,极大降低系统耦合性,更加专注业务上

控制反转IOC是spring的核心内容,三种实现方式,1.使用XML配置文件进行配置,2,使用注解,3,自动装配

spring容器在初始化时先读取配置文件,根据配置文件或者元数据穿件与组织对象存入容器中,使用再从容器中取出。

spplicationcontext获取上下文对象

该配置文件的根元素是,根元素主要就是包括多个元素,每个元素定义了一个Bean。驱动spring以反射方式调用该类无参的构造器

Spring框架会通过反射根据元素的class属性指定的类名创建了一个Java对象,并以元素的id属性的值为key,将该对象放入Spring容器中——这个Java对象就成为了Spring容器中的Bean。

因为反射,在Spring配置文件中配置Bean时,class属性的值必须是Bean实现类的完整类名(必须带包名),不能是接口,不能是抽象类(除非有特殊配置)。否则Spring无法使用反射创建该类的实例

  • ClassPathXmlApplicaiontContext:从类加载路径下搜索配置文件,并根据配置文件来创建Spring容器。
  • Spring获取Bean对象主要有两个方法:

    Object getBean(String id):根据容器中Bean的id来获取指定Bean,获取Bean之后需要进行强制类型转换。
    T getBean(String name, Class requiredType):根据容器中Bean的id来获取指定Bean,但该方法带一个泛型参数,因此获取取Bean之后无须进行强制类型转换。

  • 程序不再使用new调用构造器创建Java对象,所有的Java对象都由Spring容器负责创建。

  • IOC创建对象的方式。1.使用无参构造创建对象。默认。2使用有参构造创建对象,,1下标值,2,通过类型创建,3通过参数名。总结,在配置文件加载的时候,容器管理的对象已经初始化了。

依赖注入
  • 构造器注入
  • set方式注入(重点),依赖:bean对象的创建依赖于容器。注入:bean对象的相关属性由容器来注入。
  1. 环境搭建,复杂类型
  • bean
  • ref
  • list
  • set
  • map
  • props
  • value
  • null
  1. 测试层

 

 

  • p命名空间和c命名空间进行注入,增加p约束,就可以直接注入属性(相当于set注入)。c命名空间,通过构造器注入,constrect-args

     对于singleton作用域的Bean,每次请求该Bean都将获得相同的实例。容器负责跟踪Bean实例的状态,负责维护Bean实例的生命周期行为;如果一个Bean被设置成prototype作用域,程序每次请求该id的Bean,Spring都会新建一个Bean实例,然后返回给程序。在这种情况下,Spring容器仅仅使用new关键字创建Bean实例,一旦创建成功,容器不再跟踪实例,也不会维护Bean实例的状态。

Bean的配置

    bean中id是bean的唯一标识符

     class:bean对象对应的全限定名:包名+类名

      name:也是别名,且其可以起多个别名

Inport

一般用于团队开发使用,多人开发不同模块时可以将多个配置文件堕入合并为一个配置文件使用,例如文件中有多个beans.xml文件就可以创建一个applicationContext.xml使用import将其他配置文件导入。

   依赖注入
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271943.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号