0
public class PrefixGenerator implements Generator {
private String customDependency;
private PrefixGenerator() {
System.out.println("PrefixGenerator Instantiated");
}
private PrefixGenerator(int status) {
System.out.println("PrefixGenerator with int arg Instantiated");
}
private void setCustomDependency(String customDependency) {
this.customDependency = customDependency;
}
}
下面的XML配置工作爲什麼私有構造的作品,但私人二傳手在SPRING DI IOC不
<bean id="bean1" class="com.hike.pojo.PrefixGenerator">
<constructor-arg name="status" value="0"></constructor-arg>
</bean>
下面的XML配置不起作用
<bean id="bean2" class="com.hike.pojo.PrefixGenerator">
<property name="customDependency" value="Hmm"></property>
</bean>
我知道,我們可以改變私人使用反射的訪問說明符。
我的問題是爲什麼Spring如此設計如果構造函數是私有的,Spring DI的工作原理是 ,但是如果Setter方法是私有的,則Spring DI不起作用。
什麼可能是春季設計師背後這種設計的可能動機?
當他們允許私人構造函數時,爲什麼他們不允許私人安裝人員?
構造函數首先不應該是私有的。私人二傳手,但絕對沒有意義。他們只會被視爲私人方法。 – Charles
@ c650爲什麼建設者不應該是私人的? – Kayaman
@Kayaman因爲創建實例的人應該可以訪問構造函數。在一般情況下,你的構造函數不應該是私人的,除非你的類是。 – Charles