初识Spring框架

目录

一、Spring框架

二、Spring框架两大核心思想

(1) IOC:控制反转(Inversion of Controll)

(2)AOP:面向切面编程(Aspect-oriented Programming)

三、Spring工厂创建对象的原理

四、Spring工厂管理组建的生命周期

五、Spring工厂的好处


一、Spring框架

概念:spring框架是一款项目管理框架。

核心:用来管理项目中组件对象的创建、使用和销毁。

二、Spring框架两大核心思想

(1) IOC:控制反转(Inversion of Controll)

概念:控制反转,是指将原来手动通过 new 关键字创建对象的权利交给 spring,由spring工厂创建对象的过程,并且在创建对象的过程的同时,通过DI的方式维护组件与组件间的调用关系。

DI:依赖注入(Dependency injection)

概念:为组件中成员变量完成赋值的过程,称为依赖注入。 spring在创建对象的时候需要给属性赋值,给属性赋值就是依赖注入。

spring中的注入方式:

a. SET注入:使用成员变量 set 方式进行赋值 (重点

<!--八大基本数据类型+日期类型+String类型的注入-->
<property name="name" value="zhagnsan"/>
<property name="age" value="21"/>
<property name="id" value="100063"/>
<property name="bir" value="2012/12/12"/>
<property name="price" value="23.23"/>

<!--集合类型-->
<property name="lists">
  <list>
    <value>aaa</value>
    <value>bbb</value>
    <value>ccc</value>
  </list>
</property>
<property name="maps">
  <map>
    <entry key="aa" value="xiaohei"/>
    <entry key="bb" value="xiaoming"/>
    <entry key="cc" value="xiaosan"/>
  </map>
</property>

<!--注入数组类型数据-->
  <property name="qqs">
     <array>
         <value>xxx</value>
         <value>qqq</value>
         <value>vvvv</value>
      </array>
</property>

<--Properties类型-->
<property name="props">
  <props>
    <prop key="url">jdbc:mysql://localhost:3306/test</prop>
    <prop key="driver">com.mysql.jdbc.Driver</prop>
    <prop key="username">hr</prop>
    <prop key="password">hr</prop>
  </props>
</property>

b. 构造注入:使用构造方法形式进行属性的赋值 (了解)

c. 自动注入:通过在配置文件中完成类中属性的自动赋值 (了解)

注意:在配置bean标签的时候我们可以在bean标签上面添加autowire属性。这个就是设置属性自动注入的。自动注入的方式有两种。

  • byName.按照bean标签的id跟类中的属性名一致就注入成功。
  • byType。按照bean标签的类型跟类中的属性的类型一致就注入成功。注意,不能有两个bean标签类型一致,否则就注入失败。

(2)AOP:面向切面编程(Aspect-oriented Programming)

------更新中

三、Spring工厂创建对象的原理

原理:反射 + 构造方法

四、Spring工厂管理组建的生命周期

1.单例对象:工厂启动,工厂中所有单例的对象随之创建;工厂销毁,工厂中所有单例对象随之销毁。

2.多例对象:每次在工厂中使用时进行创建,工厂不负责多例对象的销毁,因为它不知道该什么时候销毁。

五、Spring工厂的好处

  1. 使用配置文件管理java类,再生产环境中更换类的实现时不需要重新部署,修改文件即可

  2. spring默认使用单例的模式创建bean,减少内存的占用

  3. 通过依赖注入建立了类与类之间的关系(使java之间关系更为清晰,方便了维护与管理)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值