您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

Spring的使用——基础环境搭建以及IOC概念理解(持续更新)

spring基础环境搭建

1.添加Spring依赖

2.编写一个Spring的配置文件

3.通过Spring的应用程序应用上下文获取对象

优点:在修改方案时可以不用修改代码,只需修改配置文件的bean就可以。

spring的基本测试过程

1.获取上下文对象ctx

ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");

2.通过上下文对象ctx获取自己创建的对象。

Girl girl= (Girl) ctx.getBean("girl2");

3.需要修改你的对象的时候,直接修改配置文件即可。

IOC概念的理解

IOC也称为依赖注入

1.控制反转:inverse of control 什么控制,谁反转了谁

​ 控制:创建对象,彼此关系的权利。

控制权是在开发人员在程序代码当中进行掌控。(new)

夺取控制权

反转给spring的容器

  • 声明要什么

  • spring容器来进行具体的控制

    改变了编程的方式

2.依赖注入(DI)

依赖:

注入:

3.值的注入

a.setter注入

  • 必须对应字段有对应setter方法才能完成

  • 通过property子节点注入

    注意使用lombok插件的时候需要导入依赖的。

b.构造注入

必须有对应的set构造方法

无参的构造方法也必须有,框架一般依赖于无参

4.bean元素探讨

属性探讨

  • abstract 对象抽象化,无法形成实例 一般和parent同时使用,指定父类bean。

  • destroy-method:指定这个bean被销毁时执行的方法

    触发条件:bean确实被销毁

    例如:ctx.close();(需要强制转换ctx,这里就不写了) //destroy也可以了,但有点过时了

    refresh也会被触发 stop不会被触发

  • init-method:指定bean的初始化方法,适合准备性的工作

  • name: 别名,可以通过它一样获取。 可以采用多种f分隔符方式 (空格,逗号都可以)

  • scope:指定范围

    singleton:单例 spring上下文只有一个实例

    prototype:原型

  • lazy-init:延迟初始化 (spring一上来不会直接初始化bean,我们需要使用的时候才会初始化bean)

    默认情况下所有的bean是容器初始化完毕就完成实例

    延迟程序初始化可以让程序启动快一些,内存消耗更小一点。

  • depends-on:依赖的bean,如果一个bean的使用严重依赖于另一个bean的准备的话,就可以配置depends-on。

对于非字面值可以描述的值的注入问题,通过ref指向另一个bean的ID。

关于在spring的配置文件单独配置别名,通过alias即可。

spring多个配置文件的bean被扫描后是可以互相引用的。


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进