码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java框架详解3——Spring的存入对象和取出


    目录

    1、spring的核心用法

    2、存入对象

    2.2、类注解

    2.3、五大类注解的联系

    2.4、方法注解@Bean

     3、取出Bean

    3.1、属性注入

    3.2、 构造方法注入

     3.3、setter注入

     4、@Resource注解


    1、spring的核心用法

    前面我们说过Spring是一个IOC容器,作为一个容器的核心用法就是存入和取出。那么作为一个IOC容器,我们在使用Spring的时候要做的就是存入bean和取出bean。

    2、存入对象

    2.1、配置扫描路径

    我们需要在resource目录下创建一个spring-config.xml文件中添加以下配置,注意要更改bean储存路径,改为自己储存bean的路径。

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:content="http://www.springframework.org/schema/context"
    5. xsi:schemaLocation="http://www.springframework.org/schema/beans
    6. http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    7. <content:component-scan base-package="所有存放到spring中bean的根路径">content:component-scan>
    8. beans>

    2.2、类注解

    spring提供的类注解一共有五个分别是:

    1、@Configuration

    2、@Controller

    3、@Servlet

    4、@Repository

    5、@Component

    我们在类上面加上这五个注释的其中任何一个都可以把该类 ,存入到容器中,但是为什么spring要提供这么多的注解去做同一件事呢?

    2.3、五大类注解的联系

    这五个类注解,是为了区分当前类的用途,用于分类。就类似于我们CPU型号后面的字母,每个字母对应的就是一类的CPU,R5-5600U后面的U就是表示低压,R7-5800H就表示标压。使用这个字母区分开每个CPU的工作电压。我们的类注解的用途也类似:

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

    @Servie:服务层;

    @Repository:持久层;

    @Configuration:配置层

     而当我们去查看这几个注解的时候我们发现这四个注解中都包含了@Component,也就是说这四个注解是@Component的“子类”。

    2.4、方法注解@Bean

    我们将bean存入spring容器中还可以使用@Bean方法注解。具体使用方法如下:

    值得注意的是我们在使用@Bean注解的时候需要搭配着上面的类注解使用。

     3、取出Bean

    3.1、属性注入

    我们可以直接使用@Autowired注解进行实现。我们就可以把已经存入spring容器的bean取出来。

    3.2、 构造方法注入

     3.3、setter注入

     4、@Resource注解

     我们也可以使用@Resource注解代替@Autowired注解使用,上面使用@Autowired注解的地方都可以替换成为@Resouce注解,但是具体的区别我的另外一篇博客有详解。

  • 相关阅读:
    8.12 矢量图层面要素单一符号使用二(仅渲染中心点)
    行业安全解决方案|腾讯打造汽车一体化安全防护,助力车企数字化安全
    〖Python 数据库开发实战 - Redis篇③〗- Mac系统下通过homebrew安装Redis数据库
    牛客NC98 判断t1树中是否有与t2树完全相同的子树【simple 深度优先dfs C++/Java/Go/PHP】
    一款.NET开源、功能强大、跨平台的绘图库 - OxyPlot
    【示波器专题】示波器带宽对测量的影响
    【python编程从入门到实践】P2 变量的规范
    jmeter脚本开发
    Java之转换流的详细解析
    docker运行javaWeb服务,操作文件异常
  • 原文地址:https://blog.csdn.net/dghehe/article/details/127437092
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号