邯郸哪儿能做网站,网站运营难做吗,中山企业做网站,服务好的常州网站建设1.开发步骤2.构造方法的重载 2.1参数个数不同2.2构造参数个数相同时 3.注入总结
注入#xff1a;通过Spring的配置文件#xff0c;为成员变量赋值 Set注入#xff1a;Spring调用Set方法#xff0c;通过配置文件#xff0c;为成员变量赋值 构造注入#xff1a;Spring调用…1.开发步骤2.构造方法的重载 2.1参数个数不同2.2构造参数个数相同时 3.注入总结
注入通过Spring的配置文件为成员变量赋值 Set注入Spring调用Set方法通过配置文件为成员变量赋值 构造注入Spring调用构造方法通过配置文件为成员变量赋值
1.开发步骤 提供有参构造方法 public class Customer implements Serializable { private String name; private int age; public Customer(String name, int age) {this.name name;this.age age;
}Override
public String toString() {return Customer{ name name , age age };
}} 通过Spring的配置文件来为成员变量赋值 tom 1
一个构造参数对应构造方法的一个构造参数而且顺序是对应的
2.构造方法的重载
我们先来回顾一下什么是方法的重载 1.在同一个类中2.方法名相同3.形参列表不同(个数类型顺序)4.方法的重载和返回值类型无关和权限修饰符也无关那么当构造方法发生重载的时候我们想要构造注入为成员变量赋值需要注意什么细节呢
2.1参数个数不同
public class Customer implements Serializable {private String name;private int age;public Customer(String name) {this.name name;}public Customer(String name, int age) {this.name name;this.age age;}Overridepublic String toString() {return Customer{ name name , age age };}
}如果说我们现在只想为name属性赋值的话那么age就会有默认值
bean idcustomer classcom.zyh.basic.Customerconstructor-arg valuejack/value/constructor-arg/bean总结我们可以发现当构造参数个数不同的时候我们可以通过constructor-arg 标签的数量来进行区分2.2构造参数个数相同时
我们再来看看另外一种情况当重载的构造方法中有两个构造方法的参数都只有一个那么Spring怎么知道我们要为哪一个成员变量赋值呢。这个时候我们就应该通过成员变量的类型来进行区分
通过标签引入type属性进行类型区分
bean idcustomer classcom.zyh.basic.Customerconstructor-arg typeint value3/value/constructor-arg/beanpublic class Customer implements Serializable {private String name;private int age;public Customer(String name) {this.name name;}public Customer(int age) {this.age age;}public Customer(String name, int age) {this.name name;this.age age;}Overridepublic String toString() {return Customer{ name name , age age };}
}type属性指明要赋值的参数类型
bean idcustomer classcom.zyh.basic.Customerconstructor-arg typeint value3/value/constructor-arg/bean这个时候我们还会有一种疑惑如果有两个成员变量的类型一样呢 哈哈大家想到这里肯定是有经过认真思考的不过大家可能忘记了重载的定义我们说重载指的是参数的个数类型顺序中有一个不同就构成了重载但是注意我们从来都没有说过参数的名字不同构成重载着就是语法报错毕竟我们要记住参数名是可以随便乱取的
3.注入总结
set注入用得比较多构造注入相对来说毕竟麻烦毕竟有构造方法重载的问题Spring框架中大量应用了set注入