Spring——属性注入(三)

构造方法的方式的属性注入

构造方法:

public Student(Integer age, String name, Cat cat){
    this.age = age;
    this.name = name;
    this.cat = cat;
}

配置文件:


    


    
    
    
    

Set方法的属性注入

1.给出属性的set方法

2.配置文件


    

P名称和C名称空间的属性注入

简介:就是set方法注入和构造方法注入,两种方法都需要引入头链接

xmlns:p="http://www.springframework.org/schema/p"

xmlns:c="http://www.springframework.org/schema/c"

c 名称:

p 名称:

spEL表达式的属性注入


    



集合注入

set方法需要有

构造方法注入同理不需要set方法 但需要构造方法


    
        sgw
        zly
    


    
        sgw
        zly
    


    
        
        
    


    
        yyy
        zzz

    

标签注入

1.在配置文件当中,还得要引入一个context约束


       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

2.配置组件扫描

 Spring——属性注入(三)_第1张图片

3.可以在类开上添加注解

Spring——属性注入(三)_第2张图片

4.使用注解注入属性不需要set方法 也可以在set方法前面添加 那就要在set方法上添加@value("值");

Spring——属性注入(三)_第3张图片

 

@Component 修改一个类,将这个类交给Spring管理  相当于在配置文件当中配置 他的三个衍生注解

Spring——属性注入(三)_第4张图片

属性注入

@Value :设置普通属性值

@Autowired:设置对象类型的属性值,直接使用这种方式,是按照类型完全属性注入,不需要在注解上使用id名称

@Qualifier:根据名字来寻找相对应的,和@Autowired连用

@Resource:集合了@Autowired和@Qualifier的功能 和上面的区别可以看这位大佬的博客 https://www.cnblogs.com/fengli9998/p/7472247.html

@PostConstruct:初始化执行的方法

@PreDestroy:销毁实现的方法

@scope:作用范围(单例和多例)

abstract 抽象bean只能被继承 不能被实例化
parent 继承父bean
/*初始化加载的标签*/
    @PostConstruct
    /*销亡的时候实现的方法*/
    @PreDestroy

你可能感兴趣的:(Java)