zoukankan      html  css  js  c++  java
  • 20200910--Spring配置

    1. 别名

     

     

    2. bean的配置

    别名的第二种,可支持多个别名,空格,逗号,分号,都可以

     

    3. 导入

    一般用于团队开发使用,可将多个配置文件导入,合并为一个

    applicationcontext.xml

     4. 依赖注入

    4.1 构造器注入

    4.2 setter注入【重点】

    依赖:bean对象的创建依赖于容器

    注入:bean对象中的所有属性由容器来注入

    4.3 其他方式注入

    5. bean的作用域

    1. singleton单例模式

    spring默认机制,get的时候都是一个实例对象

     不会浪费资源,但是并发的时候会有问题,单线程使用

    2. prototype原型模式

    每次从容器中get的时候,都会产生一个新对象

     浪费资源,多线程使用

    3. request,session,application只在web开发中使用

     6. bean的自动装配

    自动装配是spring满足bean依赖的一种方式

    spring会在上下文中自动寻找bean,并给bean装配属性

    spring有三种方式装配:

    1. 在xml中显式配置

    2. 在java中显式配置

    3. 隐式自动装配--重要

    1. byName自动装配

    会自动在容器上下文中查找和自己对象set方法后面的值对应的beanid,保证所有bean的id唯一,并且要保障这个id和自动注入属性的set方法的值一致

    2. byType

    会自动在容器上下文中查找和自己对象set方法后面的值类型对应的beanid,保证类型全局唯一,bean id不用命名就可以装配

    保证bean的class唯一,并且bean和自动注入的属性的类型一致

    3. 使用注解自动装配

    使用注解须知:

    3.1 导入约束

    3.2 配置注解的支持

     3.3 @Autowired 直接在属性上是使用即可,此时可忽略set方法(前提是这个自动装配的属性在IOC-spring容器中存在,且符合名字byname)

    也可在set方法中使用

     

     科普:

    @nullable 标记了这个注解,说明这个字段可以为null

    @Autowired(required=false) 说明这个对象可以为null,否则不允许为空

    @Qualified  通过它来显式的指定

    如果自动装配无法通过一个注解(@Autowired)完成的时候,可以使用@Qualifier(value="xxx")指定一个唯一的bean对象注入

     

     @Resource注解  java装配

     @Resource和@Autowired的区别

    都可以自动装配,都可以放在属性字段上

    @autowired是通过bytype的方式实现,必须要求这个对象存在,不然就空指针了【常用】

    @Resource是通过byname的方式实现, 如果找不到名字,则通过bytype实现,都找不到的情况下就报错【常用】

    执行顺序不同,@autowired是通过bytype的方式实现 @Resource是通过byname的方式实现

  • 相关阅读:
    POJ
    HDU
    POJ
    HDU
    HDU
    HDU
    POJ
    ZOJ
    ZOJ
    Kattis
  • 原文地址:https://www.cnblogs.com/vivian-xiaoyun/p/13651826.html
Copyright © 2011-2022 走看看