-
自定義的IoC容器測試代碼:
IoC創(chuàng)造類和功能約定:
?
2. 反射方法實例化bean.
?
測試:
回顧總結(jié):
好處:
查看全部 -
第一種:通過構(gòu)造方法注入Bean
#<bean>標簽管理class對象。
#bean的構(gòu)造方法參數(shù)標簽 constructor-arg。
#index 表示構(gòu)造方法的第幾個參數(shù)。
#name 表示構(gòu)造方法的參數(shù)名。
#type 表示對應的參數(shù)類型。
#value 表示為參數(shù)提供賦值,一般用于String等簡單常用對象。
#ref 表示為參數(shù)提供賦值,一般是復雜點的依賴其它 class的對象(取bean的id)。
注意:只要通過index、name、type的組合明確表示出構(gòu)造函數(shù)的那一個參數(shù)即可,
不一定全用,只用index也可以。
<bean class="com.imooc.spring.ioc.class06.Bean">
<constructor-arg ?index="0" name="anotherBean"
type="com.imooc.spring.ioc.class06.AnotherBean">
</constructor-arg>?
</bean>
通過構(gòu)造方法注入Bean,輸出結(jié)果:
成功的給屬性賦值。?
?
總結(jié):
第一種:構(gòu)造方法注入bean
第二種:通過set方法注入Bean
第三種:集合類型Bean注入
List和Set?
Map和Propertyes
第四種:注入null值
??
第五點:注入內(nèi)部Bean
查看全部 -
實例化Bean的方法總結(jié):
Spring 實例化Bean的方法:
Bean的別名
別名輸出的都是同一個Bean實例
查看全部 -
什么是IoC
英文全程:Inversion of Control?
為什么要使用IoC
查看全部 -
課程內(nèi)容:IoC部分
了解xml配置的繁瑣,才能體會使用注解的方便。
課程目的:
查看全部 -
Spring入門課程目錄,分三大部分
查看全部 -
Java Web發(fā)展的六個階段
查看全部 -
Java Web發(fā)展史(一)
查看全部 -
Java Web發(fā)展史
查看全部 -
老方法
注解:
簡化@Bean
?@Configuration用于定義配置類,可替換xml配置文件,被注解的類內(nèi)部包含有一個或多個被@Bean注解的方法,這些方法將會被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext類進行掃描,并用于構(gòu)建bean定義,初始化Spring容器
ApplicationContext?context=new?AnnotationConfigApplicationContext(類名.class); Bean1?bean1=context?.getBean("bean",Bean1.class);
查看全部 -
Class<T>在實例化的時候,T要替換成具體類
Class<?>它是個通配泛型,?可以代表任何類型查看全部 -
反射? ?類本身也是對象? 是Class類的對象
獲取類的兩種方式
Class?clazz?=?Person.class; Class??clazz??=??Class.forName("包名.Person");???(包名+類名)
1.建對象??
Constructor?cons=clazz.getConstructor(String.class,int.class); Person?p=cons.newInstance("Tom",12);????//可以傳數(shù)組
2.調(diào)用 屬性,方法
Field age=clazz.getDeclaredField(....);? (參數(shù)忘了)
age.set(p,10);
Method show =clazz.getDeclaredMethod(......);? ?(參數(shù)忘了)
show.invoke(p);
查看全部 -
Class.newInstance() 只能夠調(diào)用?無參的構(gòu)造函數(shù),即默認的構(gòu)造函數(shù);?
Constructor.newInstance() 可以根據(jù)傳入的參數(shù),調(diào)用?任意構(gòu)造構(gòu)造函數(shù)。?Class.newInstance() 要求被調(diào)用的構(gòu)造函數(shù)是可見的,也即必須是?public類型的;?
Constructor.newInstance() 在特定的情況下,可以?調(diào)用私有的構(gòu)造函數(shù)。?查看全部 -
傳統(tǒng)創(chuàng)建對象的方式高耦合性
查看全部 -
控制? 反轉(zhuǎn)? 的含義
查看全部
舉報