å¤ä¸ªå
éå·éå¼ã
1ã@Component
@Component
æ¯ææåSpring 管çç»ä»¶çéç¨å½¢å¼ï¼@Component注解å¯ä»¥æ¾å¨ç±»ç头ä¸ï¼@Componentä¸æ¨è使ç¨ã
2ã@Controller
@Controller对åºè¡¨ç°å±çBeanï¼ä¹å°±æ¯Actionï¼ä¾å¦ï¼
1 @Controller
2 @Scope("prototype")
3 public class UserAction extends BaseAction<User>{
4 â¦â¦
5 }
使ç¨@Controller注解æ è¯UserActionä¹åï¼å°±è¡¨ç¤ºè¦æUserAction交ç»Spring容å¨ç®¡çï¼å¨Spring容å¨ä¸ä¼åå¨ä¸ä¸ªåå为"userAction"çactionï¼è¿ä¸ªååæ¯æ ¹æ®UserActionç±»åæ¥åçã注æï¼å¦æ@Controllerä¸æå®å
¶valueã@Controllerãï¼åé»è®¤çbeanåå为è¿ä¸ªç±»çç±»åé¦åæ¯å°åï¼å¦ææå®valueã@Controller(value="UserAction")ãæè
ã@Controller("UserAction")ãï¼å使ç¨valueä½ä¸ºbeançååã
è¿éçUserActionè¿ä½¿ç¨äº@Scope注解ï¼@Scope("prototype")表示å°Actionçèå´å£°æ为ååï¼å¯ä»¥å©ç¨å®¹å¨çscope="prototype"æ¥ä¿è¯æ¯ä¸ä¸ªè¯·æ±æä¸ä¸ªåç¬çActionæ¥å¤çï¼é¿å
strutsä¸Actionç线ç¨å®å
¨é®é¢ãspring é»è®¤scope æ¯åä¾æ¨¡å¼(scope="singleton")ï¼è¿æ ·åªä¼å建ä¸ä¸ªAction对象ï¼æ¯æ¬¡è®¿é®é½æ¯åä¸Action对象ï¼æ°æ®ä¸å®å
¨ï¼struts2 æ¯è¦æ±æ¯æ¬¡æ¬¡è®¿é®é½å¯¹åºä¸åçActionï¼scope="prototype" å¯ä»¥ä¿è¯å½æ请æ±çæ¶åé½å建ä¸ä¸ªAction对象
3ã@ Service
@Service对åºçæ¯ä¸å¡å±Beanï¼ä¾å¦ï¼
1 @Service("userService")
2 public class UserServiceImpl implements UserService {
3 â¦â¦â¦
4 }
@Service("userService")注解æ¯åè¯Springï¼å½Springè¦å建UserServiceImplççå®ä¾æ¶ï¼beançååå¿
é¡»å«å"userService"ï¼è¿æ ·å½Actionéè¦ä½¿ç¨UserServiceImplççå®ä¾æ¶,å°±å¯ä»¥ç±Springå建好ç"userService"ï¼ç¶å注å
¥ç»Actionï¼å¨Actionåªéè¦å£°æä¸ä¸ªååå«âuserServiceâçåéæ¥æ¥æ¶ç±Spring注å
¥ç"userService"å³å¯ï¼å
·ä½ä»£ç å¦ä¸ï¼
1 // 注å
¥userService
2 @Resource(name = "userService")
3 private UserService userService;
注æï¼å¨Action声æçâuserServiceâåéçç±»åå¿
é¡»æ¯âUserServiceImplâæè
æ¯å
¶ç¶ç±»âUserServiceâï¼å¦åç±äºç±»åä¸ä¸è´èæ æ³æ³¨å
¥ï¼ç±äºActionä¸ç声æçâuserServiceâåé使ç¨äº@Resource注解å»æ 注ï¼å¹¶ä¸ææäºå
¶name = "userService"ï¼è¿å°±çäºåè¯Springï¼è¯´æActionè¦å®ä¾åä¸ä¸ªâuserServiceâï¼ä½ Springå¿«ç¹å¸®æå®ä¾å好ï¼ç¶åç»æï¼å½Springçå°userServiceåéä¸ç@Resourceç注解æ¶ï¼æ ¹æ®å
¶ææçnameå±æ§å¯ä»¥ç¥éï¼Actionä¸éè¦ç¨å°ä¸ä¸ªUserServiceImplçå®ä¾ï¼æ¤æ¶Springå°±ä¼æèªå·±å建好çååå«å"userService"çUserServiceImplçå®ä¾æ³¨å
¥ç»Actionä¸çâuserServiceâåéï¼å¸®å©Actionå®æuserServiceçå®ä¾åï¼è¿æ ·å¨Actionä¸å°±ä¸ç¨éè¿âUserService userService = new UserServiceImpl();âè¿ç§æåå§çæ¹å¼å»å®ä¾åuserServiceäºãå¦æ没æSpringï¼é£ä¹å½Actionéè¦ä½¿ç¨UserServiceImplæ¶ï¼å¿
é¡»éè¿âUserService userService = new UserServiceImpl();â主å¨å»å建å®ä¾å¯¹è±¡ï¼ä½ä½¿ç¨äºSpringä¹åï¼Actionè¦ä½¿ç¨UserServiceImplæ¶ï¼å°±ä¸ç¨ä¸»å¨å»å建UserServiceImplçå®ä¾äºï¼å建UserServiceImplå®ä¾å·²ç»äº¤ç»Springæ¥åäºï¼Springæå建好çUserServiceImplå®ä¾ç»Actionï¼Actionæ¿å°å°±å¯ä»¥ç´æ¥ç¨äºãActionç±åæ¥ç主å¨å建UserServiceImplå®ä¾åå°±å¯ä»¥é©¬ä¸ä½¿ç¨ï¼åæäºè¢«å¨çå¾
ç±Springå建好UserServiceImplå®ä¾ä¹åå注å
¥ç»Actionï¼Actionæè½å¤ä½¿ç¨ãè¿è¯´æAction对âUserServiceImplâç±»çâæ§å¶æâå·²ç»è¢«âå转âäºï¼åæ¥ä¸»å¨æå¨èªå·±æä¸ï¼èªå·±è¦ä½¿ç¨âUserServiceImplâç±»çå®ä¾ï¼èªå·±ä¸»å¨å»newä¸ä¸ªåºæ¥é©¬ä¸å°±å¯ä»¥ä½¿ç¨äºï¼ä½ç°å¨èªå·±ä¸è½ä¸»å¨å»newâUserServiceImplâç±»çå®ä¾ï¼newâUserServiceImplâç±»çå®ä¾çæåå·²ç»è¢«Springæ¿èµ°äºï¼åªæSpringæè½å¤newâUserServiceImplâç±»çå®ä¾ï¼èActionåªè½çSpringå建好âUserServiceImplâç±»çå®ä¾åï¼åâæ³æ±âSpringæå建好çâUserServiceImplâç±»çå®ä¾ç»ä»ï¼è¿æ ·ä»æè½å¤ä½¿ç¨âUserServiceImplâï¼è¿å°±æ¯Springæ ¸å¿ææ³âæ§å¶å转âï¼ä¹å«âä¾èµæ³¨å
¥âï¼âä¾èµæ³¨å
¥âä¹å¾å¥½ç解ï¼Actionéè¦ä½¿ç¨UserServiceImpl干活ï¼é£ä¹å°±æ¯å¯¹UserServiceImpl产çäºä¾èµï¼SpringæAcionéè¦ä¾èµçUserServiceImpl注å
¥(ä¹å°±æ¯âç»â)ç»Actionï¼è¿å°±æ¯æè°çâä¾èµæ³¨å
¥âã对Actionèè¨ï¼Actionä¾èµä»ä¹ä¸è¥¿ï¼å°±è¯·æ±Spring注å
¥ç»ä»ï¼å¯¹Springèè¨ï¼Actionéè¦ä»ä¹ï¼Spring就主å¨æ³¨å
¥ç»ä»ã
4ã@ Repository
@Repository对åºæ°æ®è®¿é®å±Bean ï¼ä¾å¦ï¼
1 @Repository(value="userDao")
2 public class UserDaoImpl extends BaseDaoImpl<User> {
3 â¦â¦â¦
4 }
@Repository(value="userDao")注解æ¯åè¯Springï¼è®©Springå建ä¸ä¸ªååå«âuserDaoâçUserDaoImplå®ä¾ã
å½Serviceéè¦ä½¿ç¨Springå建çååå«âuserDaoâçUserDaoImplå®ä¾æ¶ï¼å°±å¯ä»¥ä½¿ç¨@Resource(name = "userDao")注解åè¯Springï¼Springæå建好çuserDao注å
¥ç»Serviceå³å¯ã
1 // 注å
¥userDaoï¼ä»æ°æ®åºä¸æ ¹æ®ç¨æ·Idååºæå®ç¨æ·æ¶éè¦ç¨å°
2 @Resource(name = "userDao")
3 private BaseDao<User> userDao;
温馨提示:答案为网友推荐,仅供参考