javaѧϰ֮·----spring̽Ë÷1----Á˽âIOCµÄСÀý×Ó(Ò»)

2014-11-24 08:20:05 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 2
Ç°ÃæÒѾ­Ä£ÄâÁËspringµÄIOC¹¦ÄÜ£¬ÏÖÔÚÀ´ÕæÕýµÄʹÓÃspring
Ç°Ãæ¾ßÓÐ Ô´Â룬ÏÂÃæ¶¼ÊÇ»ùÓÚÇ°ÃæµÄÔ´ÂëµÄ£º http://blog.csdn.net/javastudyr/article/details/17055743
1.½¨Á¢Ò»¸öÏîÄ¿
2.µ¼°ü£¨ÎÒÓõÄÊÇ3.2.3µÄ°ü£©
3.×îºÃ½¨Á¢Ò»¸ölibrary ²½ÖèÈçÏ£ºWindow--->preferences--->ËÑË÷¿òÊäÈëus£¬¿´µ½ÓиöUser Libraries---->new-->ÊäÈëÃû×Ö--->Ìí¼Ójar°ü----->Ñ¡ÔñÏîÄ¿---->ÓÒ¼übulid path--->add library--->user Library--->Ñ¡ÔñÄãµÄlibrary
4.ɾ³ý×Ô¼ºÐ´µÄspring £¬ÎÒÃÇÓÃspringµÄ£¬ÒýÈëspringµÄ°ü
5.ÐÞ¸Ätest
public class UserServiceTest {
@Test public void testAddUser() throws Exception{
BeanFactory beans= new ClassPathXmlApplicationContext("beans.xml" );//ÎÒÃÇÔÚÕâ¶ùÒª¸æËßspringÎÒÃǵÄÅäÖÃÎļþÔÚÄÇ UserService service=(UserService)beans.getBean("userService" ); User user= new User(); service.addUser(user); }
}
ÔËÐнá¹û£º save user


6.×¢ÈëµÄ·½Ê½ÓÐÄÄЩ
ÓÐÈýÖÖ£¬Ö»ÐèÒªÕÆÎÕÒ»ÖÖset×¢Èë¾ÍOK setter×¢Èë£¨ÕÆÎÕËü£© ¹¹Ôì·½·¨×¢Èë ½Ó¿Ú×¢Èë
7. idºÍname Çø±ð
"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 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" >
"u" class= "com.test.dao.impl.UserDAOImpl" >

"userService" class = "com.test.service.UserService" > < property name= "userDAO" ref = "u" />


¿ÉÒ԰ѺìÉ«±ê×¢µÄid="u"¸ÄΪname="u"
< bean name = "u" class = "com.test.dao.impl.UserDAOImpl" >
ÔËÐÐһϽá¹ûÒ»Ñù£¬ËüÃÇÓÐÊ²Ã´Çø±ðà«£¿
ËüÃÇûʲô´óµÄÇø±ð£¬Ò»°ã¾ÍÊÇnameÀïÃæ¿ÉÒÔ°üº¬ÌØÊâ×Ö·û
8.¼òµ¥µÄÊôÐÔ×¢È룺
ÎÒÃÇÒ»°ã²»»áÓã¬Ö»ÓÐÔÚssh¿ò¼ÜÕûºÏµÄʱºò£¬spring»áÓõ½¡£
¿´¸öÀý×Ó£º
< bean id= "dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method = "close" > < property name= "driverClass" value = "com.mysql.jdbc.Driver" />
ºìÉ«²¿·Ö¾ÍÊǼòµ¥ÊôÐÔ×¢È루³õʼ»¯ÊôÐÔµÄÖµ£©
9.beanµÄ·¶Î§£¨scope£© ĬÈϵÄÇé¿öÏÂÊÇscope=sington£¨µ¥Àýģʽ£©
ÎÒÃÇÀ´Ñé֤һϣº
public class UserServiceTest {
@Test public void testAddUser() throws Exception{
ApplicationContext beans= new ClassPathXmlApplicationContext("beans.xml" );//ÎÒÃÇÔÚÕâ¶ùÒª¸æËßspringÎÒÃǵÄÅäÖÃÎļþÔÚÄÇ UserService service=(UserService)beans.getBean("userService" ); UserService service1=(UserService)beans.getBean("userService" );//ʵÀý»¯Á½¸öUserServiceʵÀý System. out .println(service==service1);//±È½ÏÊÇ·ñÏàµÈ User user= new User(); service.addUser(user); }
}
½á¹û£º true save user
Ö¤Ã÷ÊÇÒ»¸ö¶ÔÏó£¬ÄǾÍÊǵ¥Àýģʽ¡££¨ËùÒÔĬÈÏÊǵ¥Àý£©
Ò»°ãËü»¹ÓÐÒ»¸öÖµ½Ðprototype(Ô­ÐÍ) ÎÒÃÇÀ´ÐÞ¸ÄÏÂÅäÖÃÎļþ
< bean id = "userService" class = "com.test.service.UserService" scope = "prototype">
ÎÒÃÇÔÚÀ´ÊÔÊÔ
ͬÑùÓÃÉÏÃæµÄ²âÊÔ´úÂë ½á¹û£º
false save user
ÕâÀï²¹³äһϣº
prototypeÔ­ÐÍ£¬¾ÍÊÇָÿ´´½¨Ò»¸ö¶ÔÏóÎÒ¶¼ÊÇÓÃÔ­ÐÍÀ´´´½¨Ò»¸ö£¬¶¼ÊÇеġ£¡£
10.×Ô¶¯×°Å䣨autowire£© ĬÈÏÊÇno(¾ÍÊDz»×Ô¶¯×°Åä); Ò»°ãÎÒÃÇ»áÓÃÓÐÁ½ÖÖ£ºbyName£¨°´Ãû×Ö×°Å䣩,byType£¨ÀàÐÍ×°Å䣩
ÎÒÃÇÏÈÀ´ÐÞ¸ÄһϴúÂ룺
public class UserDAOImpl implements UserDAO{
private int daoId ; public int getDaoId() { return daoId ; }

public void setDaoId( int daoId) { this .daoId = daoId; }
@Override public void save(User u) { System. out .println("save user" + this. daoId); }
} Ôö¼ÓÒ»¸öIdÀ´±æ±ð²»Í¬µÄdao

ÐÞ¸Äbeans "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 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" >
"userDAO" class = "com.test.dao.impl.UserDAOImpl" > < property name= "daoId" value = "1"> "userDAO2" class = "com.test.dao.impl.UserDAOImpl" > < property name= "daoId" value = "2">
"userService" class = "com.test.service.UserService" >

ÔËÐÐһϴúÂ룺£¨²âÊÔĬÈÏÖµ£©
½á¹û£ºÅ׳ö¿ÕÖ¸ÕëÒì³££¬ËµÃ÷ûÓÐ×¢È룬ÄÇôĬÈÏÖµÊÇno

ÏÂÃæÎÒÃÇÀ´²â