程序员社区

【Spring学习及总结13】通过注解代替xml文件将bean对象放进ioc容器

文章目录

      • 1.默认方式
      • 2.修改组件的名称:@Controller("book")
      • 3.bean对象为多实例:@Scope(value="prototype")
  1. 通过注解可以代替xml文件,在类上添加一个注解就能将这个类加入到ioc容器的管理中
    @Controller
    控制器,给控制器层(servlet)的组件添加这个注解
    @Service
    业务逻辑,给业务逻辑层的组件添加这个注解
    @Repository
    数据库(持久化层dao)的组件添加这个注解
    @Component
    给不属于以上几层的组件添加这个注解

  2. 使用注解组件的步骤:
    1.给组件添加注解
    2.配置spring.xml,自动扫描加了注解的组件
    3.导入aop包,支持注解模式

  3. 使用注解后:
    id默认为类名首字母小写
    bean对象默认为单实例的

1.默认方式

首先写一个实体类并加上注解

@Controller
public class BookController {
}

其次,配置spring.xml,自动扫描加了注解的组件
context:component-scan:自动扫描组件
base-package:指定扫描的基础包
将基础包及他下面所有的包下的所有加了注解的类,添加到ioc容器中进行管理

<context:component-scan base-package="com.hh"/>

测试类:

public class MyTest {
   ApplicationContext context =
           new ClassPathXmlApplicationContext("spring.xml");
   @Test
    public void test(){
       BookController bookController =
               context.getBean("bookController", BookController.class);
       System.out.println(bookController);
   }
}

2.修改组件的名称:@Controller(“book”)

@Controller("book")
public class BookController {
}

测试类 :

public class MyTest {
   ApplicationContext context =
           new ClassPathXmlApplicationContext("spring.xml");
   @Test
    public void test(){
       BookController bookController =
               context.getBean("book", BookController.class);
       System.out.println(bookController);
   }
}

3.bean对象为多实例:@Scope(value=“prototype”)

@Controller("book")
@Scope(value="prototype")
public class BookController {
}

测试类:

public class MyTest {
   ApplicationContext context =
           new ClassPathXmlApplicationContext("spring.xml");
   @Test
    public void test(){
       BookController bookController =
               context.getBean("book", BookController.class);
      BookController bookController2 =
              context.getBean("book", BookController.class);
      System.out.println(bookController==bookController2);//false
   }
}

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【Spring学习及总结13】通过注解代替xml文件将bean对象放进ioc容器

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区