春如何装配bean

  介绍

这篇文章主要讲解了春天如何装配bean内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

<强>一前言

在XML中进行显式配置。

在Java中进行显式配置。

隐式的bean发现机制和自动装配

关于XML配置不会在本篇说明,有兴趣的读者可以自行了解学习;

<强>二自动装配豆

自动装配豆主要通过如下两个方式实现自动装备bean

    <李>组件扫描(组件扫描):春天会自动扫描发现上下文中所创建的bean;对应的Java配置@ComponentScan注解,其会默认会扫描与配置类相同的包和其子包,如果是XML就是& lt;上下文:component-scan> <李>自动装配(自动装配):春天自动化管理豆之间的依赖关系;Java配置@Autowiring注解,相当于Java规范中的@ inject注解;其可以使用在任何类的任何方法上;不建议将要求属性设置为false,否则如果在bean未装配的情况下就会报空指针异常; <李> @ component注解:赋予弹簧上下文组件类一个ID,如果不指定值默认就是将类名的第一个字母变为小写形式,其相当于Java规范中的@ name注解;
      李,

敲黑板了:

理下思路我们可以通过@ component注解使用在多个类上实现多个bean,然后通过@Autowiring使用在方法上实现豆之间的依赖注入;最后通过@ComponentScan将所有豆扫入弹簧应用上下文;当然里面还有许多使用的小细节,要不然很容易出错;

实现如下

2.1棉被类

/* *   * @Author lsc   * & lt; p>棉被& lt;/p>   */@ component   公共类被子{//质量   私人字符串质量;      公共空间的产品(){   System.out.println(“生产与中国“);   }//省略设置/获取   }

2.2被单类

/* *   * @Author lsc   * & lt; p>被单& lt;/p>   */@ component//相当于@ component (“sheet")   公共类表{//颜色   私人字符串的颜色;//长度   私人字符串长度;         私人拼布被子;//使用构造器注入方式将被子注入到表中,你也可以使用集方式;原则上还可以其它方法   公共表(拼布被子){   这一点。被子=被子;   }//省略设置/获取      }

2.3被单配置类

/* *   * @Author lsc   * & lt; p>被单配置类& lt;/p>   */@ configuration//告诉春天这是一个配置类   @ComponentScan//这边的包是com.zszxz。汽车相当于@ComponentScan (basePackages={“com.zszxz.auto"})   公开课SheetConfig {   }

2.4测试类

/* *   * @Author lsc   * & lt; p>& lt;/p>   */@RunWith (SpringJUnit4ClassRunner.class)//创建春应用上下文   @ContextConfiguration(类=SheetConfig.class)//加载配置类   公共类表{      @ autowired   表板;      @Test   公共空表(){//生产与中国   sheet.getQuilt () . product ();   }   }

<强>三java配置

java配置只需要通过如下注解即可完成,通常使用在引入第三方类时,

    <李> @ configuration注解:告诉春天这是一个配置类 <李> @ bean注解:告诉春天这是一个bean,使用在方法上,默认bean的名称就是方法名也就是前面提到的bean的ID;
      李,

思路:@ configuration注解声明的配置类中使用注解@ bean,就实现了java配置;

3.1棉类

/* *   * @Author lsc   * & lt; p>棉& lt;/p>   */公共类棉花{//质量   私人字符串质量;      公共空间的产品(){   System.out.println(“棉花生产与中国“);   }//省略设置/获取   }

3.2毛毯

/* *   * @Author lsc   * & lt; p>毛毯& lt;/p>   */公开课的毯子{//颜色   私人字符串的颜色;//长度   私人字符串长度;//构造器注入   私人棉花棉;   @ autowired   公共毯子(棉花棉){   这一点。棉花=棉;   }//省略设置/获取   }

3.3毛毯配置类

/* *   * @Author lsc   * & lt; p>毛毯配置类& lt;/p>   */@ configuration//告诉春天这是一个配置类,春天会扫描其所有配置纳入春容器   公开课BlanketConfig {//将棉花注入到春天应用上下文   @ bean   公共棉花棉(){   返回新棉花();   }//将棉花注入到毯子注入到春天应用上下文   @ bean   公共毯毯(棉花棉){   返回新毯子(棉);   }   }

春如何装配bean