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 的使用
-
扫描指定类文件,指定类的 同级目录 和 子级目录 也属于该范围内:
@ComponentScan(basePackageClasses = Person.class)
-
扫描指定包,使用默认扫描规则,即被
@Component,@Repository,@Service,@Controller或者已经声明过@Component自定义注解标记的组件;@ComponentScan(value = "com.xxx")
三层架构类上的注解
@Controller
-
单词读音:
抗抽了 -
控制器
概述
@Controller只是定义了一个 控制类,而使用@RequestMapping注解的方法才是处理 请求 的处理器。- 需要被
@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 {
...
}

浙公网安备 33010602011771号