3 回答

TA貢獻1850條經(jīng)驗 獲得超11個贊
我個人的理解,覺得bean就相當于定義一個組件,這個組件是用于具體實現(xiàn)某個功能的。這里的所定義的bean就相當于給了你一個簡潔方便的方法來調(diào)用這個組件實現(xiàn)你要完成的功能。
對于我們的spring最主要的應該就是由這些bean組成的bean工廠,每個bean實現(xiàn)一個功能
例如:你寫的第一個bean
<bean id="userAction" class="com.neusoft.gmsbs.gms.user.action.UserAction"
scope="prototype">
<property name="userBO" ref="userBO" />
</bean>
id相當于定義了你的這個bean的別名,如果你需要他的話只要關聯(lián)這個別名就可以了,也就相當于下面的<property name="userBO" ref="userBO" />一樣,在你的userAction中需要實現(xiàn)userBO這個功能,我關聯(lián)它,那么在action中set注入就可以使用了!
至于其他的屬性看下面:
Id : 標識該bean的名稱,通過factory.getBean(“id”)來獲得實例。
Class : 該bean的類路徑。
Singleton : 默認為true,即單實例模式,每次getBean(“id”)時獲取的都是同
一個實例,如果設置為false,即原型模式,則每次獲取的是新創(chuàng)建
的實例。
Init-method : 在bean實例化后要調(diào)用的方法(bean里定義好的方法)。
Destroy-method : bean從容器里刪除之前要調(diào)用的方法。
Autowire : 其屬性要通過何種方法進行屬性的自動裝配。
對于上述的各個屬性,id和class是必要的,其他的則可以省略。例如如果設置了autowire的值,則表明需要自動裝配,否則是手動裝配。

TA貢獻1893條經(jīng)驗 獲得超10個贊
其實所謂的bean,就是java的class,但符合2個條件;
(1)有無參構(gòu)造函數(shù);
(2)為成員編寫了set get方法
這樣spring容器就很方便地管理它

TA貢獻1921條經(jīng)驗 獲得超9個贊
bean從容器里刪除之前要調(diào)用的方法; /.getBean(“id”)來獲得實例,在你的userAction中需要實現(xiàn)userBO這個功能; 該bean的類路徑;userBO",id相當于定義了你的這個bean的別名.UserAction",每次getBean(“id”)時獲取的都是同一個實例,否則是手動裝配;property name="一樣,每個bean實現(xiàn)一個功能。
比如:
1、對于上述的各個屬性,其他的則可以省略;userAction"!至于其他的屬性看下面。這里的所定義的bean就相當于給了你一個簡潔方便的方法來調(diào)用這個組件實現(xiàn)你要完成的功能。
Class ,則每次獲取的是新創(chuàng)建的實例,id和class是必要的.gms,如果設置false;userBO"/:你寫的第一個bean即單實例模式。
2、Singleton ; class=": 在bean實例化后要調(diào)用的方法(bean里定義好的方法)。
3、Destroy-method ;bean>: 其屬性要通過何種方法進行屬性的自動裝配;com。對于我們的spring最主要的應該就是由這些bean組成的bean工廠.user;例如如果設置了autowire的值,也就相當于下面的<,我關聯(lián)它.gmsbs。
4、Init-method ;prototype">,即原型模式;userBO": 標識該bean的名稱;property name=".action : 默認為true;bean id=",通過factory我個人的解;ref=",如果你需要他的話只要關聯(lián)這個別名就可以了,這個組件是用于具體實現(xiàn)某個功能的;userBO",那么在action中set注入就可以使用了.neusoft;>。
5、scope="/> ref=",則表明需要自動裝配,覺得bean就相當于定義一個組件。
添加回答
舉報