Spring的五大类注解和方法注解

Spring中的类与方法注解及其命名策略
本文介绍了Spring框架中使用注解进行对象存储和读取的方法,包括五大类注解(@Controller、@Service、@Repository、@Component、@Configuration)的功能和命名规则,以及方法注解如何配合类注解。

前言

在 Spring 中想要更简单的存储和读取对象的核心是使用注解,而在使用注解之前一定要配置好扫描文件

在这里插入图片描述


一、五大类注解

1.@Controller、@Service、@Repository、@Component、@Configuration。

在这里插入图片描述
在这里插入图片描述
可以看到,不管使用的是@Controller还是@Service,都能在Spring中获取到。
在这里插入图片描述
在这里插入图片描述
我们来看看各个注解的源码就知道了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们发现其实每个注解都使用了@Component注解,相当我们Java中的继承关系,其他四个注解都相当于@Component的子类。

2、既然功能相同为什么还要有这么多注解?

这和为什么每个省/市都有⾃⼰的⻋牌号是⼀样的,这样做的好处除了可以节约号码之外,更重要的作⽤是可以直观的标识⼀辆⻋的归属地。

那么为什么需要怎么多的类注解也是相同的原因,就是让程序员看到类注解之后,就能直接了解当前类的⽤途,⽐如:
@Controller:表示的是业务逻辑层;
@Servie:服务层;
@Repository:持久层;
@Configuration:配置层。
@Component:组件层

3、Bean的命名规则

通过上⾯示例,我们可以看出,通常我们 bean 使⽤的都是标准的⼤驼峰命名,⽽读取的时候⾸字⺟⼩写就可以获取到 bean 了,如下图所示:
在这里插入图片描述
然⽽,当我们⾸字⺟和第⼆个字⺟都是⼤写时,就不能正常读取到 bean 了,如下图所示:
在这里插入图片描述

而将参数改成UContrller后就能正常运行:
在这里插入图片描述
这是因为Spring对Bean有自己的一套命名规则,我们可以来看源码:
在这里插入图片描述

二、方法注解

类注解是添加到某个类上的,⽽⽅法注解是放到某个⽅法上的,如以下代码的实现:

在 Spring 框架的设计中,⽅法注解 @Bean 要配合类注解才能将对象正常的存储到 Spring 容器中,如

@Controller
public class MethodContrller {
    @Bean("m1")
    public User method(){
        User user = new User();
        user.age = 2;
        return user;
    }
}

@Bean()括号中的是关于bean的重命名数组,不写的话就是该方法的名字,运行结果代码如下图:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值