Spring更简单保存和获取bean对象的方法(注解)

本文详细介绍了如何使用Spring注解将bean对象保存到容器中,包括@Controller、@Service、@Repository、@Component和@Configuration等类注解的用法。同时,文章讨论了bean的命名规则,并对比了@Autowired和@Resource注解的区别。此外,还解决了同类型多个@Bean时可能出现的问题及其解决方案。

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


我们介绍了通过配置spring.xml配置文件的方式来保存和获取bean对象,但是,通过配置文件的方式来保存和获取bean对象并不方便和简洁。所以,我在介绍一个更加简单和方便的方法—>通过注解的方式来保存和获取bean对象

前置准备

我们还是需要创建一个spring-config.xml配置文件,并且还需要添加一个标签来配置Spring的注解扫描路径

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <content:component-scan base-package="扫描的根目录"></content:component-scan>
    <!-- 扫描注解   -->
</beans>

将bean对象更为简单地保存到Spring容器中(使用注解)

【使用类注解】 (是写在类前的)

<1>@Controller【控制器】验证前端传递的参数【安全检查】

<2>@Service【服务】服务调用的编排和汇总

<3>@Repository【仓库】直接操作数据库

<4>@Component【组件】通用化的工具类

<5>@Configuration【配置】项目的所有配置

使用方式也很简单,只要将注解写在要给Spring管理的类前就行了(注意:要配置好扫描路径,要在扫描路劲里)

示例截图:
在这里插入图片描述

为什么要这么多类注解?

就是让程序员看到类注解之后,就能直接了解当前类

的⽤途,⽐如:

@Controller:表示的是业务逻辑层;

@Service:服务层;

@Repository:持久层;

@Configuration:配置层

程序的⼯程分层,调⽤流程如下:
在这里插入图片描述

类注解之间的关系

查看 @Controller / @Service / @Repository / @Configuration 等注解的源码发现,他们都有使用用@Component,

他们都是基于@Component实现的。

使用类注解 Bean 命名规则

我们在使用五个类注解让对象交给Spring管理的时候,我们可以自己给对象命名,或者使用bean的默认名字

【方式一】自己给对象命名,以@Controller为例

@Controller(“我们自己取的名字”)

【方式二】使用默认名字

规则:

一般情况:类名的第一个字母为大写,第二个字母为小写,bean的id(名字)是该类的类名,但是类名的第一个字母要改为小写

特殊情况:类名的第一个字母和第二个字母都为大小,bean的id是该类的类名.

如果类名是一个字母,不管大小写,bean的id都是类名,并且第一个字母小写

使用方法注解(@Bean)不常用

【使用方法注解】 (是写在方法前的)

@Bean

@Bean 的作用:将方法返回的对象保存到Spring的容器中

注意:

  1. @Bean不能单独使用,要搭配5大类注解使用
  2. @bean方法注解只能用在无参的方法(Spring初始化存储时,无法提供相应的参数)

使用@bean方法注解将对象保存到Spring容器中,该bean对象的命名规则

【使用默认的命名规则】

以方法名为该bean对象的id名
在这里插入图片描述
【程序员可以直接设置bean对象的id名】

注意:如果程序员自己设置bean对象的id名,则bean对象默认的id名也就不能使用

<1>

@bean(name="id名字")

在这里插入图片描述
<2>

@Bean(value = "id名字"
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值