依赖注入方式-创新互联

setter注入
  1. 在bean中定义属性并提供可访问的set方法
public class BookServiceImpl implements BookService, InitializingBean, DisposableBean {private BookDao bookDao;
    private int number;
    public void setBookDao(BookDao bookDao) {this.bookDao = bookDao;
    }
    public void setNumber(int number) {System.out.println("set...");
        this.number = number;
    }
}
  1. 若为引用类型,配置中使用property标签ref属性注入对象
    若为简单类型,配置中使用property标签value属性注入数据
构造器注入
  1. 在bean中定义属性并提供可访问的构造方法
public class BookServiceImpl implements BookService, InitializingBean, DisposableBean {private BookDao bookDao;
    private int number;

    public BookServiceImpl(BookDao bookDao, int number) {this.bookDao = bookDao;
        this.number = number;
    }
}
  1. 若为引用类型,配置中使用constructor-arg标签ref属性注入对象
    若为简单类型,配置中使用constructor-arg标签value属性注入对象
    注:可以使用constructor-arg标签中type属性按形参类型注入,也可以使用index属性按形参位置注入
自动装配

配置中使用autowire属性设置自动装配的类型

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的丁青网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
autowire属性值

(1)no

(默认)不采用autowire机制。这种情况,当我们需要使用依赖注入,只能用标签。

(2)byName

通过属性的名称自动装配(注入)。Spring会在容器中查找名称与bean属性名称一致的bean,并自动注入到bean属性中。当然bean的属性需要有setter方法。使用时必须保障容器中具有指定名称的bean。

(3)byType

通过类型自动装配(注入)。Spring会在容器中查找类(Class)与bean属性类一致的bean,并自动注入到bean属性中。使用时必须保障容器中相同类型的bean唯一。如果容器中包含多个这个类型的bean,Spring将抛出异常。如果没有找到这个类型的bean,那么注入动作将不会执行。

(4)constructor

类似于byType,但是是通过构造函数的参数类型来匹配。假设bean A有构造函数A(B b, C c),那么Spring会在容器中查找类型为B和C的bean通过构造函数A(B b, C c)注入到A中。与byType一样,如果存在多个bean类型为B或者C,则会抛出异常。但时与byType不同的是,如果在容器中找不到匹配的类的bean,将抛出异常,因为Spring无法调用构造函数实例化这个bean。

(5)default

采用父级标签(即beans的default-autowire属性)的配置。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:依赖注入方式-创新互联
当前链接:http://ybzwz.com/article/csgpos.html