• Spring 学习——Spring注解——Autowiring(自动装配)


    装配方式

    • 方式一:默认
    • 方式二:byName:根据属性名称自动装配。会查找Bean容器内部所有初始化的与属性名成相同的Bean,自动装配。(需要通过set方法注入,注入Bean的id名称需要和实体类的属性名称一致)
      复制代码
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd"
          default-autowire="byName">
      
          <bean id="autoService" class="com.jing.spring.autowiring.AutoWiringService"></bean>
          <bean id="autoWiringDao" class="com.jing.spring.autowiring.AutoWiringDao"></bean> 
       </beans>
      复制代码
      复制代码
      ackage com.jing.spring.autowiring;
      
      public class AutoWiringService {
      
          private AutoWiringDao autoWiringDao;
      
          public void setAutoWiringDao(AutoWiringDao autoWiringTestDao) {
              this.autoWiringDao = autoWiringTestDao;
          }
      
          public void autoService(String arg){
              System.out.println("AutoWiringService.autoService===="+arg);
              autoWiringDao.autoDao(arg);
          }
      }
      复制代码
    • 方式三:byType:根据类型自动装配。如果容器中存在一个与所需Bean类型相同的Bean,则自动装配。如果存在多个相同类型的Bean,报错。找不到相匹配的Bean,什么都不发生。(需要通过set方法注入!!!)
      复制代码
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd"
          default-autowire="byType">
      
          <bean class="com.jing.spring.autowiring.AutoWiringService"></bean>
          <bean class="com.jing.spring.autowiring.AutoWiringDao"></bean> 
       </beans>
      复制代码
    • Constructor:同byType相似。如果找不到匹配的Bean,报错。(需要通过构造方法注入,注入的Bean的id名称需要和实体类的属性名称一致!!!)
      复制代码
      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans.xsd"
          default-autowire="constructor">
      <bean id="autoService" class="com.jing.spring.autowiring.AutoWiringService"></bean> <bean id="autoWiringDao" class="com.jing.spring.autowiring.AutoWiringDao"></bean> </beans>
      复制代码
      复制代码
      package com.jing.spring.autowiring;
      
      public class AutoWiringService {
      
          private AutoWiringDao autoWiringDao;
      
          public AutoWiringService(AutoWiringDao autoWiringTestDao){
              this.autoWiringDao = autoWiringTestDao;
          }public void autoService(String arg){
              System.out.println("AutoWiringService.autoService===="+arg);
      
              autoWiringDao.autoDao(arg);
          }
      }
      复制代码
  • 相关阅读:
    最新pear安装
    php垃圾收集机制
    strstr的实现
    PHP 快速生成目录树
    php 去掉字符串
    php批量生成mysql触发器定义语句
    HTML的知识点讲解(HTML版本)
    mysql数据库怎么使用,mysql的使用方法
    sublime text3Emmet:HTML/CSS代码快速编写神器
    图片滚动插件jquery bxslider
  • 原文地址:https://www.cnblogs.com/zuiyue_jing/p/10431716.html
Copyright © 2020-2023  润新知