Spring的注解开发(原始注解)

本文探讨了Spring框架中注解开发的重要性,旨在减少XML配置,提高开发效率。讲解了原始注解如@Component、@Controller、@Service、@Repository的用途,强调它们在不同层面上的语义化。通过实例展示了@Autowired和@Qualifier的自动注入功能,以及@Resource的综合使用。还提到了@Value注解用于注入普通属性,并解释了@Scope控制单例或多例。最后,介绍了如何通过配置组件扫描启用注解配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要用注解来进行开发,只用配置文件不是很好?

Spring是一个轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发死一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。

现在的注解分为原始注解还有新注解:

原始注解主要是替代Bean的配置:

下面我们来演示注解怎么替代的配置文件的

@Component 和 @Controller, @Service, @Repository的作用都是一样的,都是实例化Bean,也就是来创建对象的,但是后面的三个具有语义化,因为后面三个分别用于不同的层,到时候我们可以直接通过看这个注解,就能知道这个类属于什么层的。当你不知道一个类属于什么层的时候就可以直接用@Component

下面代码实例:(@Component )

 

括号里面就相当于是Bean里面的ID

通过上面的注解我们根本不知道是哪一个层次的代码,所以我们就用可读性强的注解

看见用的是Repository我们就知道它是DAO层的

看见Service我们就知道是Service层的

其他一个WEB层的也同理

把Component改成每个层次相应的获得Bean实例的注解,同样也能运行出来

其实这前面的这几个就相当于是配置文件的Bean,他们经过组件扫描相当于也被加入到配置文件中去了,只是你看不见

 

 

 

 通过注解的依赖注入:

 @Autowired自动注入(根据下面的数据类型来寻找相应的)在spring容器内进行匹配的,如果在配置文件中有多个的话,就不行

@Qualifier 指定注入哪个(在spring容器中通过id值进行匹配的),参数就填你要注入对象的ID名字,注意的是@Qualifier要结合@Autowired一起使用

但是我们通过注解的方式可以把set方法给删除掉也能进行注入,只要我们把注解放在需要依赖注入的属性的上面就可以了,看运行结果同样是能够运行出来 

依赖注入还可以通过@Resource();来进行注入,这个就相当于@Autowired+@Qualifier的总和

通过注解来注入普通属性:

就是通过@value就可以进行注入了 

我们发现像这样注入,不如直接给这个driver直接赋值

首先我们事先已经在容器中导入好了jdbc.propreties文件(里面存储的东西是通过键值对的),结下来我们通过el表达式来进行注入(这样也相当于解耦了,以后修改不需要找到源码,直接去找dbc.propreties就可以了)

对于@scope()在配置文件中是用来控制单例多例的,这里同样也是,里面有两个参数

 

 

 

我们写好了注解,也要告诉spring配置文件,其实注解最后还是变成了配置文件(个人理解),因为你用注解相当于有人给你在配置文件中自动编写Bean,依赖注入也是同样的,只是我们看不见。

下面我们就给spring配置组件扫描,作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类,字段和方法。

base-package里面的参数就填你要扫描的那个包

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值