Spring 加载bean 通过有参构造器
1、疑问的代码
疑问的点有两个:1、Student这个类的构造器参数居然有四个,这个不符合我平时的习惯,参数都不是类中声明的属性 2、不理解这个构造器是干啥的,一直以为是要让别人new呢。
@Component
public class Student {
private int name;
public Student(@Value("${ibmmq.server.channelname}") String channelNam,@Value("${ibmmq.server.ip}") String ip, @Value("${ibmmq.server.port}") int port,
@Value("${ibmmq.server.queue.mgr}") String queueMgrName,
@Value("${ibmmq.server.conn.num}") int connNum) {
System.out.println("=======");
System.out.println("=======");
}
// public Student() {
// }
public int getName() {
return name;
}
public void setName(int name) {
this.name = name;
}
}
2、分析
首先明确Student是要放到ioc容器里面的,不是让别人来new的。这就理解了构造器的作用:用来把Student实例化到ioc 容器里面的,默认是用无参的构造器,没有无参的就用有参的
浙公网安备 33010602011771号