第二章 IoC Spring自动扫描和管理Bean

通过Spring容器自动扫描和管理Bean,我们不再需要在配置文件中使用<bean>标签管理Bean

2.9.1引入context命名空间

如何引入命名空间及命名空间的写法已经在之前的章节中详细说过。具体可参考以下:

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

在扫描的时候,Beanid,如UserDaoImpl会默认为userDaoImpl

但如果有需要,我们是可以修改这个默认名字的。

如:

@Service("userService")
public class UserServiceImpl implements UserService {
        //...
}

这个时候我们可以使用userService来获取对象。


2.9.5注解作用域

@Service("userService")@Scope("prototype")
public class UserServiceImpl implements UserService {
      //...
}


上一篇:In-Memory:内存优化表的DMV


下一篇:软件妙妙招——如何去除惠普战66的扬声器杂音