通過Spring容器自動掃描和管理Bean,我們不再需要在配置檔案中使用<bean>标簽管理Bean。
2.9.1引入context命名空間
如何引入命名空間及命名空間的寫法已經在之前的章節中詳細說過。具體可參考以下: http://blog.csdn.net/p_3er/article/details/9231307
2.9.2打開掃描功能
<context:component-scan base-package="cn.framelife.spring"/>
在打開掃描功能後,注解功能也打開了,是以不再需要再打開注解功能。
base-package是要掃描的類的包路徑。
2.9.3掃描标注了以下注解的類
@Service業務層元件,如service
@Controller控制層元件,如Struts中的Action
@Repository資料通路層元件,如dao
@Component當元件不好歸類時使用,泛指
上面幾個注解都是類範圍的,是以應該标注在類名的頭上。
2.9.4擷取Bean
在掃描的時候,Bean的id,如UserDaoImpl會預設為userDaoImpl。
但如果有需要,我們是可以修改這個預設名字的。
如:
@Service("userService")
public class UserServiceImpl implements UserService {
//...
}
這個時候我們可以使用userService來擷取對象。
2.9.5注解作用域
@Service("userService")@Scope("prototype")
public class UserServiceImpl implements UserService {
//...
}