实际的开发中,bean 的数量非常多,采用手动配置 bean 的方式已无法满足生产需要,spring 这时候同样提供了扫描的方式,对扫描到的 bean 对象统一进行管理,简化开发配置,提高开发效率。
spring引入了包的自动扫描机制, 它可以在类路径下寻找标注了@Component、@Service、@Controller、@Repository注解的类,并把这些类纳入进Spring容器中管理。它的作用和在xml文件中使用bean配置组件是一样的。
<context:component-scan base-package="com.shsxt"/>
在xml配置文件中配置了这个标签后,spring就可以自动扫描base-package下面或者子包下面的java文件,如果有扫描到@Component、@Service、@Controller、@Repository等注解的类,就把这些类注册为bean。
开发中建议(开发中的一种约定)
Dao 层:@Repository
Service 层:@Service
视图控制层:@Controller
如果对于开发的类实在不明确到底属于哪个层,可以使用@Component 注解定义。