Spring之bean基础解析

pom.xml内容解析

!--1.当前maven工程的坐标-->
    com.dltt
    mvn_01_20230330
    1.0-SNAPSHOT

    jar
    
    
        8
        8

        UTF-8
    


    
        junit
        junit
        4.12

        test
    

spring容器的bean组件默认是通过构造方法进行实例化的

如果要使用有参构造方法,则需要使用constructor-arg标签来为属性赋值
其中index表示参数的位置(从0开始),value参数的值


    

 静态工厂方式实例化Bean组件

普通工厂方式实例化Bean组件,需要先实例化工厂类实例,在通过执行工厂类的方法创建产品对象并返回引用



    

secope属性配置bean组件的作用域

1.singleton(默认):单实例
2.prototype:每次从容器容器获取bean主键时,都相当于执行了new xxx(),每次获取都是新的实例

bean的初始化和销毁方法

1.init
2.destroy

import可以引入其他的配置文件,resource属性值为引入配置文件相对于主配置文件的相对路径

lazy-init懒加载 仅当scope=singleton时有效

 Setter方式注入基本类型

使用property标签,name是setter方法的set之后的方法名 value是注入的值

    

test测试

 如何从spring容器中获取组件(类的实例)
//        1.获取容器对象
        ApplicationContext app=new ClassPathXmlApplicationContext("applicationContext.xml");
//        2.获取组件(对象)
        Dog dog1=(Dog)app.getBean("dog1");
        dog1.eat();
Dog dog2=(Dog) app.getBean("dog2");
dog2.introduce();

注入

1.pom.xml导入maven配置文件



    4.0.0

    org.example
    spring_02-1_DI
    1.0-SNAPSHOT

    
        8
        8
        UTF-8
    
    
        
            org.springframework
            spring-core
            4.1.6.RELEASE
        
        
        
        
            org.springframework
            spring-beans
            4.1.6.RELEASE
        

        
        
            org.springframework
            spring-context
            4.1.6.RELEASE
        
        
            junit
            junit
            4.13.1
            test
        
    

2.注入外部bean

 
        
        
    
    
    
        
        
    

3.注入内部bean

    
    
        
            
                
                
            
        
    

4.注入集合方式

4.1List 集合注入

property标签內嵌套list标签

基本类型值用value标签,使用type属性表明类型,内容写具体的值

其他组件使用标签,使用bean属性表明注入的组件id

如果是null值,则使用标签即可


        
            
                打篮球
                
                
            
        
    

4.2Map集合注入

注入元素是需要使用《entry》标签

如果键为其他组件这使用key-ref属性注入,如果为基本类型则使用key

如果为其他自减则使用value-ref属性注区,如果为基本类型则使用value


        
            
                
                
            
        
    

实现自动装配

bean标签中的属性autowire,配置自动装配

常用的两个值

byName:根据属性名称注入,注入值bean的id值和类中属性名称一致

byType:根据属性类型注入,如果出现了多个重复的属性类型,则抛出异常

 
    

    
        
    

你可能感兴趣的:(spring,java,mybatis)