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

Spring入门,XMl配置方法

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

Spring入门,XMl配置方法

基本概念在此不进行赘述,干货如下:

Spring是分层的Java SE/EE应用轻量级(跟EJB比)开源框架,以Ioc(控制反转,解耦合),和AOP(面向切面编程,底层是动态代理)为内核

IOC:是控制反转,反转的是创建对象的控制权,将控制权交给框架,降低了程序之间的耦合性

AOP:在不修改源码的情况下进行功能增强,通过动态代理实现的

基于xml配置文件注入Bean对象

bean标签:

id:唯一标识

class:bean的全限定类名

name:类似id是该bean对象的标识,但是name可以有多个,id只能唯一,多个name用","隔开

scope:singleton(默认的,单例,标识Spring容器中只有一个该对象)

           prototype(多例,表示该Spring容器中有多个该Bean对象)

           request(web项目里,Spring创建的bean对象将放到request域中:一次请求期间有效 )

           session(web项目里,Spring创建的bean对象将放到session域中:一次会话期间有效 )

 不同的scope的bean,生命周期不同:

    singleton:bean的生命周期和Spring容器的生命周期相同

                      整个Spring容器中,只有一个bean对象

                      何时创建:加载Spring配置文件,初始化Spring容器时,bean对象创建

                      何时销毁:Spring容器销毁时,bean对象销毁

    prototype:bean的生命周期和Spring容器无关。Spring创建bean对象之后,交给JVM管理了

                       整个Spring容器中,会创建多个bean对象,创建之后由JVM管理

                       何时创建:调用getBean方法获取bean对象时,bean对象创建

                       何时销毁:对象长时间不用时,垃圾回收

     init-method:指定类中初始化方法名称,该方法将在bean对象被创建时执行

     destroy-method:指定类中销毁方法名称,该方法将在bean对象被销毁时执行

小结:

    

   

让Spring帮我们创建class对应的实例对象,我们可以通过id获取到这个实例对

  • scope:bean对象的作用范围

    • singleton:默认值,表示单例的

      • 何时创建:非懒加载的bean,在容器初始化时就创建对象;懒加载的bean,在第一次获取时创建对象

      • 何时销毁:容器关闭时,销毁bean对象

    • prototype:多例的

      • 何时创建:每次获取时都会创建新对象

      • 何时销毁:长时间不使用,JVM垃圾回收

  • init-method:指定一个初始化方法

    在Spring创建bean对象之后,会自动执行一次初始化方法

  • destroy-method:指定一个销毁方法

    在Spring容器关闭之前(bean对象被销毁之前),会自动执行一次销毁方法

    注意:多例的bean对象销毁时,不执行销毁方法

   依赖注入:

       
   
   
   
       
       
   

   上面这段代码的即在Service中依赖dao层也就是数据层,可以理解成Service依赖Dao层,所以Service中注入了Dao层的Bean对象。

常见的注入方式:

 set方法注入:在类中提供需要注入的成员(依赖项)的set方法,在配置文件中注入属性的值

  
    
   

构造方法注入:在类中提供构造方法,构造方法的每个参数就是一个依赖项,通过构造方法给依赖项注入值。


    
   

constructor-arg标签的属性:

  • name:构造参数的名称

  • type:构造参数的类型

  • index:构造参数的索引

  • value:要注入的值,注入简单类型值

  • ref:要注入的值,注入其它bean对象

P名称空间注入:本质依然是set注入

然后通过p:属性名称=""来注入简单数据、使用p:属性名称-ref=""注入其它bean对象,它的本质仍然是set方法注入

集合注入数据

 
   
   
       
            a
            b
            c
       
   

   
   
       
            a1
            b1
            c1
       

   

   
   
       
            a2
            b2
            c2
       

   

   
   
       
           
           
           
       

   

   
   
       
            a4
            b4
            c4
       

   

纯个人手打,有错误地方欢迎指正

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

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

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