13.1基于注解管理bean之注解和扫描
注解:注解相当于是一个标识,扫码到了才有应有的功能
扫描:Spring为了程序员在哪些地方标记了什么注解,就需要使用扫描的方式,来进行检测。然后根据注解后续操作。
@Controller //标识为控制层
public class UserController {
spring映射文件扫描:
<!--
扫描组件 xmlns:context="http://www.springframework.org/schema/context" 导包
base-packge注意:以包的形式进行扫描 建议以描述的越精确越好,并包含了所有要扫描的注解 扫描的速度就越快
-->
<context:component-scan base-package="com.atguigu.spring"></context:component-scan>
/**
* 测试类
* @Component:将类标识为普通组件
* @Controller:将类标识为控制层组件
* @Service:将类标识为业务层组件
* @Repository:将类标识为持久层组件
*/
@Test
public void test(){
ApplicationContext ioc = new ClassPathXmlApplicationContext("spring-ioc-annotation.xml");//获取核心配置文件
UserController userController = ioc.getBean(UserController.class); //拿配置文件中的id
System.out.println(userController);
UserDao userDao = ioc.getBean(UserDao.class);
System.out.println(userDao);
UserService userService = ioc.getBean(UserService.class);
System.out.println(userService);
}
输出结果:
com.atguigu.spring.controller.UserController@1613674b //输出地址
com.atguigu.spring.Dao.impl.UserDaoImpl@27ff5d15
com.atguigu.spring.service.impl.UserServlceImpl@4e096385