spring框架简单注入方式

1、Spring框架

IOC:反转控制(查找资源的被动方式)

AOP:面向切面编程(声明式事务)

2、Spring之HelloWorld

1.搭建环境

    a.创建普通的javaProject.

  b.导入相关的jar包(beans,core,context,expression,commons-logging)

    c.创建Spring的核心配置文件: applicationContext.xml
    2.编写java类

3.在IOC中配置bean.


4.测试:

    a.实例化SpringIOC容器


   b.从IOC容器中获取bean


3、IOC&DI

SpringIOC容器的结构:

a.BeanFactory:SpringIOC容器的基础设施,面向框架本身的.

b.ApplicationContext:面向开发者的.

c.ConfigurableApplicationContext:是ApplicationContext的子接口,额外的提供了refresh,close两个方法。

d.

 ClassPathXmlApplicationContext:从类路径下加载读取配置文件

 FileSystemXmlApplicationContext:从文件系统下加载读取配置文件

4、依赖注入(DI)

1.set方式注入

 a.在java类中提供成员变量(属性)对应的set方法.

  b.在IOC容器中通过property标签进行属性值的注入


2.构造器方式注入

  a.在java类中提供对应的构造器(一定要提供无参数的构造器)

  b.在IOC容器中通过constructor-arg标签进行属性值的注入


 c.constructor-arg标签的属性:

    value: 指定普通属性值

    ref: 引用其他的bean

    index: 指定构造器参数的位置

   type:  指定构造器参数的类型

5、注入属性值的细节

1.字面值

  a.遇到特殊字符,可以使用转义字符或者是<![CDATA[....]]>

2.引用其他的bean

  a.使用ref来指定IOC容器中已经存在的bean的id。

3.内部bean

  a.定义到一个bean的内部的bean.
      b.内部bean只能在bean的内部来使用.

  c.内部bean的定义可以省略id的配置.

4.null值与级联属性

  a.如果要给bean的属性装配null值,可以使用Spring提供的好的<null/>专有标签.

  b.Spring支持使用级联的方式给属性进行赋值.

5.集合类型的属性注入

  a.集合类型:

    List:  <list></list>

     Set:  <set></set>

     Map:  <map> <entry></entry></map>

     Properties: <props><prop></prop> </props>

6.独立的集合bean

 a.先导入util命名空间

   b.使用util:list来配置独立的集合bean


7.p命名空间

 a.先导入p命名空间

  b.在bean的配置中使用p:xxx 或者是p:xxx-ref来进行属性值的注入


6、自动装配

1.byName

      a.根据bean的id值进行装配

      b.根据IOC容器中bean的id值与要装配的bean的set风格的属性名进行匹配.

      c.匹配上则装配成功,匹配不上则装配失败,不会抛异常.

    2.byType:

      a.根据bean的类型进行装配

      b.根据IOC容器中bean的类型(class)与要装配的bean的属性的类型进行匹配

      c.使用byType的方式需要注意:如果匹配上多个兼容的类型(本类型与子类型),会抛出异常.






posted @ 2022-12-07 18:38  diligently  阅读(95)  评论(0)    收藏  举报