1. 声明 bean 的注解
@Component:声明类为组件,没有明确的角色

@Service:用于标注业务逻辑层组件即(service 层)

@Repository:用于标注数据访问组件即(dao 层),

@Controller:在控制层使用,声明返回视图

@RestController: 在控制层使用,声明返回对象

2. 注入 bean 的注解
@Autowired:由 Spring 提供,按类型注入,如果一个接口有多个实现,需要和 @Qualifier 配合使用

3、java 配置类相关注解:
@Bean 注解在方法上,声明当前方法的返回值为一个 bean

4、切面(AOP)相关注解:
Spring 支持 AspectJ 的注解式切面编程。

@Aspect 声明一个切面

使用 @After、@Before、@Around 定义通知,可直接将拦截规则(切点)作为参数。

@After 后置通知,在方法执行之后执行(方法上)

@Before 前置通知,在方法执行之前执行(方法上)

@Around 环绕通知,在方法执行之前与之后执行(方法上)

@PointCut 声明切点

5、@Value 注解:为属性注入值
支持如下方式的注入:

1). 注入普通字符

@Value(“Michael”)
String name;

2). 注入其它 bean 属性

@Value(“#{ domeClass.name}”)
String name;

3). 注入文件资源

@Value(“classpath:com/it/test.txt”)
String Resource file;

4). 注入网站资源

@Value(“www.fhadmin.cn")
Resource url;

5). 注入配置文件

@Value(“${book.name} “)
String bookName;

6、spring 其他部分注解
@RequestMapping: 配置 URL 地址的映射

@RequestParam: 获取请求参数的值,用在方法的参数上

@RequestBody: 接受 json 对象的字符串,用在方法的参数上