依赖注入方式-创新互联
setter注入
分享标题:依赖注入方式-创新互联
当前链接:http://ybzwz.com/article/csgpos.html
- 在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;
}
}
- 若为引用类型,配置中使用property标签ref属性注入对象
若为简单类型,配置中使用property标签value属性注入数据
构造器注入- 在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;
}
}
- 若为引用类型,配置中使用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