Spring IOC創(chuàng)建對(duì)象的兩種方式
IOC創(chuàng)建對(duì)象的方式
一、 使用無(wú)參構(gòu)造創(chuàng)建對(duì)象(默認(rèn)方式)創(chuàng)建實(shí)體類(lèi)
注意:屬性必須要有set方法,來(lái)完成注入
public class User { private String name; public User() { System.out.println('執(zhí)行了User類(lèi)的無(wú)參構(gòu)造方法~'); } public User(String name){ this.name = name; System.out.println('執(zhí)行了User類(lèi)的有參構(gòu)造方法'); } //使用無(wú)參構(gòu)造方法時(shí),必須要設(shè)置set方法,因?yàn)樽⑷霑r(shí) 需要通過(guò)set方法注入 public void setName(String name) { this.name = name; } @Override public String toString() { return 'User{' +'name=’' + name + ’’’ +’}’; }}
配置Bean
<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd'> <bean class='com.test.pojo.User'> <property name='name' value='gyp'/> </bean></beans>
測(cè)試類(lèi)
public class MyTest { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml'); User user = context.getBean('user', User.class); System.out.println(user); }}
結(jié)果:
有參構(gòu)造,不需要set方法注入
通過(guò)下標(biāo)方式注入(通過(guò)index來(lái)選擇,給有參構(gòu)造的第幾個(gè)參數(shù)注入)
(1)配置Bean
<bean class='com.test.pojo.User'> <constructor-arg index='0' value='gyp'/> </bean>
(2)測(cè)試結(jié)果
通過(guò)名字注入
(1)配置Bean
<bean class='com.test.pojo.User'> <constructor-arg name='name' value='gyp'/> </bean>
(2)測(cè)試結(jié)果
通過(guò)類(lèi)型注入(不建議使用!因?yàn)楫?dāng)類(lèi)里面有兩個(gè)相同類(lèi)型的屬性時(shí),無(wú)法給屬性注入)
(1)配置Bean
<bean class='com.test.pojo.User'> <constructor-arg type='java.lang.String' value='gyp'/> </bean>
(2)測(cè)試結(jié)果
總結(jié):在加載配置文件的時(shí)候,IOC就已經(jīng)創(chuàng)建好了對(duì)象!
到此這篇關(guān)于Spring IOC創(chuàng)建對(duì)象的兩種方式的文章就介紹到這了,更多相關(guān)Spring IOC創(chuàng)建對(duì)象內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)經(jīng)驗(yàn)分享2. 詳解瀏覽器的緩存機(jī)制3. vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令4. jsp文件下載功能實(shí)現(xiàn)代碼5. 如何在jsp界面中插入圖片6. Xml簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理7. .Net Core和RabbitMQ限制循環(huán)消費(fèi)的方法8. phpstudy apache開(kāi)啟ssi使用詳解9. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器10. JSP之表單提交get和post的區(qū)別詳解及實(shí)例
