Spring-注解(1)

类上注解

Spring 配置类上的注解

@Configuration

  • 单词读音:康飞个瑞申

概述

  • 表示当前类是 Spring 的配置类。
  • 在 xml 文件中进行的配置 也可以在 配置类 中进行配置。

示例

@Configuration
public class AppConfig {
    ...
}

调用

  • AnnotationConfigApplicationContext 类调用
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();

ctx.register(AppConfig.class);  // 传入 配置类的 .class
ctx.refresh();

...

ctx.close();
  • AnnotationConfigWebApplicationContext 类调用
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();

ctx.register(AppConfig.class);  // 传入 配置类的 .class
ctx.refresh();

...

ctx.close();

@ComponentScan

  • 单词读音:康剖嫩特 司改木

概述

  • 根据指定的配置自动扫描包,将符合条件的组件加入到 IOC 容器中。
  • 该注解对应的是 xml 配置中的 <context:component-scan base-package="xxx.xxx"/>

@ComponentScan 的使用

  1. 扫描指定类文件,指定类的 同级目录 和 子级目录 也属于该范围内:

    • @ComponentScan(basePackageClasses = Person.class)
  2. 扫描指定包,使用默认扫描规则,即被 @Component, @Repository, @Service, @Controller 或者已经声明过 @Component 自定义注解标记的组件;

    • @ComponentScan(value = "com.xxx")

三层架构类上的注解

@Controller

  • 单词读音:抗抽了

  • 控制器

概述

  1. @Controller 只是定义了一个 控制类,而使用 @RequestMapping 注解的方法才是处理 请求 的处理器。
  2. 需要被 @ComponentScan 添加到 Spring IOC 容器中,不然无法使用。

@Controller 的使用


@Controller
public class BooksController {
   ...
}

@RestController

  • 单词读音:瑞斯特 抗抽了

概述

  • @RestController = Controller + @ResponseBody

  • 向前端返回 JSON 字符串。

@RestController 的使用

@RestController
public class BooksController {
   ...
}

@Service

  • 单词读音:涩味死

概述

  • 它用于将 业务层(Service)的类添加到 Spring 容器中。
  • Bean 格式:
    • 如果类名是 大驼峰格式,那么 Bean Id 就是 小驼峰格式。
    • 也可以直接指定 类的 Bean Id。

示例

@Service
public class BooksServiceImpl implements BooksService {

    ...

}
  • 接口不能被 实例化,所以就算被 标注了,也没有什么用。

@Repository

  • 单词读音:瑞帕子 途锐

概述

  • 它用于将 数据访问层(DAO)的类添加到 Spring 容器中。
  • Bean 格式:
    • 如果类名是 大驼峰格式,那么 Bean Id 就是 小驼峰格式。
    • 也可以直接指定 类的 Bean Id。

示例

@Repository
public class UserDaoImpl extends UserDao{
   ...
}

@Component

  • 单词读音:康剖内特

概述

  • 泛指各种组件,就是说当我们的类不属于各种归类的时候(如:@Controller@Service 等的时候),我们就可以使用 @Component 来标注这个类。
  • 一般使用 @Component 注解注入 pojo 类。

示例

@Component
public class User {
   ...
}
posted @ 2021-06-23 20:19    阅读(109)  评论(0)    收藏  举报