鍙傝冿細http://www.redsaga.com/spring_ref/2.0/html/beans.html
鏈枃涓昏鍐呭錛?/font>
1.鍗曞閰嶇疆鏂囦歡鐨勪嬌鐢?br />2.鍔ㄦ佹浛鎹㈢被鏂規硶錛坈glib錛?br />3.鑷畾涔変綔鐢ㄥ煙bean
4.瀹氬埗bean鐗規?br />
1).鍗曞閰嶇疆鏂囦歡鐨勪嬌鐢?/font>
1.1)閰嶇疆鏂囦歡:beans.xml鏍煎紡錛堝熀鏈厤緗級
<?xml聽version="1.0"聽encoding="UTF-8"?>
<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"聽
聽聽聽聽"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
聽聽聽聽<bean聽id="userBean"聽name="userBean"聽
聽聽聽聽聽聽聽聽聽聽class="springtest.UserBean"聽
聽聽聽聽聽聽聽聽聽聽abstract="false"聽
聽聽聽聽聽聽聽聽聽聽singleton="true"聽
聽聽聽聽聽聽聽聽聽聽lazy-init="default"
聽聽聽聽聽聽聽聽聽聽autowire="default"聽
聽聽聽聽聽聽聽聽聽聽dependency-check="default"聽>
聽聽聽聽聽聽聽聽聽聽聽聽<property聽name="name">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<value>bea</value>
聽聽聽聽聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>
聽聽聽聽
</beans>
spring 宸ュ巶寤虹珛鍗曢厤緗拰澶氶厤緗枃浠?br />聽聽聽 //鍗曢厤緗枃浠跺姞杞?/font>
聽聽聽 public聽void聽testSp()throws聽Exception{
聽聽聽聽聽聽聽聽Resource聽res聽=聽new聽FileSystemResource(
聽聽聽聽聽聽聽聽聽聽聽聽this.getClass().getClassLoader().getResource("config/beans.xml").getPath()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽);
聽聽聽聽聽聽聽聽BeanFactory聽fac聽=聽new聽XmlBeanFactory(res);
聽聽聽聽聽聽聽聽UserBean聽uu聽=聽(UserBean)聽fac.getBean("userBean");
聽聽聽聽聽聽聽聽System.out.println(uu.getName());
聽聽聽聽聽聽聽聽System.out.println(uu.getAge());
聽聽聽聽}
聽聽聽 //澶氶厤緗枃浠跺姞杞?/font>
聽聽聽聽public聽void聽testSps()聽throws聽Exception聽{
聽聽聽聽聽聽聽聽ApplicationContext聽act=new聽ClassPathXmlApplicationContext(
聽聽聽 聽聽聽 聽聽聽 new聽String[]聽{"config/beans.xml",.....}
聽聽聽 聽聽聽 );
聽聽聽聽聽聽聽聽UserBean聽uu聽=聽(UserBean)act.getBean("userBean");
聽聽聽聽聽聽聽聽System.out.println(聽uu.getName());
聽聽聽聽}
1.2) 榪樼敤涓縐嶆槸鍗曢厤緗<import resource="銆?xml"/>杈懼埌澶氶厤緗?br /><?xml聽version="1.0"聽encoding="UTF-8"?>
<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"聽
聽聽聽聽"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
聽聽聽聽<import聽resource="beans_2.xml"/>
聽聽聽聽<bean聽id="userBean"聽name="userBean"聽
聽聽聽聽聽聽聽聽聽聽class="springtest.UserBean"聽
聽聽聽聽聽聽聽聽聽聽abstract="false"聽
聽聽聽聽聽聽聽聽聽聽singleton="true"聽
聽聽聽聽聽聽聽聽聽聽lazy-init="default"
聽聽聽聽聽聽聽聽聽聽autowire="default"聽
聽聽聽聽聽聽聽聽聽聽dependency-check="default"聽>
聽聽聽聽聽聽聽聽聽聽聽聽<property聽name="name">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽聽bean="str1"/>
聽聽聽聽聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>
</beans>
鍔犺澆灝辯敤涓婄殑 -銆?/span>鍗曢厤緗枃浠跺姞杞?/font>
2).鍔ㄦ佹浛鎹㈢被鏂規硶錛坈glib錛?/font>
閰嶇疆鏂囦歡涓?鏇挎崲鏂規硶(鏇挎崲鏂規硶 getName ) lib涓姞鍏?cglib.jar
<?xml聽version="1.0"聽encoding="UTF-8"?>
<!DOCTYPE聽beans聽PUBLIC聽"-//SPRING//DTD聽BEAN//EN"聽
聽聽聽聽"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
聽聽聽聽<import聽resource="beans_2.xml"/>
聽聽聽聽<bean聽id="userBean"聽name="userBean"聽
聽聽聽聽聽聽聽聽聽聽class="springtest.UserBean"聽
聽聽聽聽聽聽聽聽聽聽abstract="false"聽
聽聽聽聽聽聽聽聽聽聽singleton="true"聽
聽聽聽聽聽聽聽聽聽聽lazy-init="default"
聽聽聽聽聽聽聽聽聽聽autowire="default"聽
聽聽聽聽聽聽聽聽聽聽dependency-check="default"聽>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽<replaced-method聽name="getName"聽replacer="rm">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<arg-type>String</arg-type>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽</replaced-method>
聽聽聽聽聽聽聽聽聽聽聽聽<property聽name="name">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<ref聽聽bean="str1"/>
聽聽聽聽聽聽聽聽聽聽聽聽</property>
聽聽聽聽</bean>
聽聽聽聽
聽聽聽聽<bean聽id="rm"聽class="springtest.ReplacedMethod"/>
</beans>
springtest.ReplacedMethod綾?br />package聽springtest;
import聽java.lang.reflect.Method;
import聽org.springframework.beans.factory.support.MethodReplacer;
public聽class聽ReplacedMethod聽implements聽MethodReplacer聽{
聽聽聽聽
聽聽聽聽public聽Object聽reimplement(Object聽arg0,聽Method聽arg1,聽Object[]聽arg2)聽throws聽Throwable聽{
聽聽聽聽聽聽聽聽return聽"鍒樺嚡姣?/span>";
聽聽聽聽}
}
緇撴灉錛?涓嶇浣犳庝箞setName getName鍑烘潵鐨勯兘鏄?銆?鈥滃垬鍑瘏鈥?br />
3.鑷畾涔変綔鐢ㄥ煙bean 闇瑕乯dk1.5
4.瀹氬埗bean鐗規?br />1錛夊垵濮嬪寲鍥炶皟 <bean id=".." class=".." init-method="init"/> 鏂規硶init()
聽 鍜?緇ф壙org.springframework.beans.factory.InitializingBean 瀹炵幇鎺ュ彛鏂規硶
聽聽聽 void afterPropertiesSet() throws Exception; 涓鏍?br />2錛?br />

]]>