<Java EE 进阶> Spring 创建和使用

news2025/1/11 0:07:39

目录

1.创建Spring项目

(1)创建一个Maven项目

(2)添加 Spring 框架支持(spring-context、spring-beans)

(3)添加启动类

2.存储 Bean 对象

(1)创建 Bean

(2)将Bean注册到容器

 3.获取并使用Bean对象

(1)创建Spring上下文

(2)获取指定Bean对象​

 (3)使用对象


1.创建Spring项目

创建一个Spring项目,分为3步:

(1)创建一个普通Maven项目

(2)添加 Spring 框架支持(spring-context、spring-beans)

(3)添加启动类

(1)创建一个Maven项目

 看好保存路径

(2)添加 Spring 框架支持(spring-context、spring-beans)

 源码:

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

(3)添加启动类

在java文件夹下创建一个启动类

public class App {
    public static void main(String[] args) {
        
    }
}

2.存储 Bean 对象

存储Bean对象分为2步:

(1)创建Bean对象

(2)将创建的 Bean 注册到 Spring 容器中

(1)创建 Bean

Bean就是java中一个普通对象

public class User {
    public String sayHi(){
        return "hello word!";
    }
}

(2)将Bean注册到容器

源码:

<?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="com.bit.service"></content:component-scan>

        <bean id="user" class="User"></bean>//注册对象
</beans>

 3.获取并使用Bean对象

获取并使用Bean对象分为3步:

(1)得到Spring上下文对象

(2)通过Spring上下文,获取某一个指定Bean对象

(3)使用Bean对象

(1)创建Spring上下文

(2)获取指定Bean对象

 

 (3)使用对象

TODO:ApplicationContext VS BeanFactory

              getBean 方法的更多用法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/189519.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算几何知识(其一)

前提 最近闲着没事就看了计算几何的一些知识 构建凸包 Incremental Construction 复杂度为O(n2)原理就是不停蚕食下一个合适的点。判断原理是&#xff0c;第X个极点和前n个极点构成的多边形会有切点S&#xff0c;T。 和这两个点的连线&#xff0c;把原先多边形分成两个区域…

【软件测试】翻了下招聘APP只会点点点,很慌......测试业务?技术?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 我猜想大伙的职业生…

从0到0.1学习 maven(二:坐标、依赖和仓库)

该文章为maven系列学习的第二篇 第一篇快速入口&#xff1a;从0到0.1学习 maven(一&#xff1a;概述及简单入门) 第二节&#xff1a;坐标、依赖与仓库坐标依赖依赖范围传递性依赖依赖调解可选依赖依赖排除归类依赖优化依赖仓库路径生成仓库分类本地仓库远程仓库快照部署至远程仓…

Day 16 Enable注解

Springboot中提供了很多Enable开头的注解&#xff0c;这些注解是冬天开启某些功能的&#xff0c;而其底层使用Import注解导入一些配置类&#xff0c;实现Bean的动态加载1 EnableAutoConfigurationTarget(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Inhe…

京东十年T8架构师手撕MySQL:手写666页核心知识,超85%问题全解

MySQL是开放源码的关系数据库管理系统&#xff0c;由于 性能高、成本低、可靠性好&#xff0c;成为现在最流行的开源数据库。 MySQL学习指南 笔记包含了3个大章节&#xff0c;13个小章节&#xff1a; 基础篇 MySQL数据类型MySQL运算符MySQL函数MySQL数据库查询语句 核心篇 …

​力扣解法汇总2319. 判断矩阵是否是一个 X 矩阵

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 如果一个正方形矩阵满足下述 全部 条件&#xff0c;则称之为一个 X 矩阵 &#…

自动化设备ERP系统对企业管理有什么好处?

随着自动化设备制造企业的快速发展&#xff0c;规模和产能的不断扩大&#xff1b;设备也不断增加、品种越来越多&#xff1b;企业信息化建设也不断发展和完善, 自动化设备ERP系统已经成为企业信息化建设的一个有机组成部分。自动化设备管理已进入信息化、数字化时代。自动化设备…

机器学习之求解无约束最优化问题方法(手推公式版)

文章目录前言1. 基础知识1.1 方向导数1.2 梯度1.3 方向导数与梯度的关系1.4 泰勒展开公式1.5 Jacobian矩阵与Hessian矩阵1.6 正定矩阵2. 梯度下降法3. 牛顿法4. 拟牛顿法5. 代码实现结束语前言 本篇博文主要介绍了机器学习里面的常见的求解无约束最优化问题的方法&#xff0c;包…

LeetCode——1664. 生成平衡数组的方案数

一、题目 给你一个整数数组 nums。你需要选择恰好一个下标&#xff08;下标从0开始&#xff09;并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。 比方说&#xff0c;如果 nums [6,1,7,4,1] &#xff0c;那么&#xff1a; 选择删除下标 1 &#xff0…

在CentOS-6.9部署apache服务

文章目录一 系统环境二 部署服务2.1 yum安装软件2.2 修改主配置文件2.3 修改防火墙规则2.4 访问测试三 主配置文件参数3.1 主配置文件常规语句3.2 主配置文件日志控制语句3.3 主配置文件的性能控制语句一 系统环境 参数值主机IP10.0.0.100主机名test操作系统版本CentOS releas…

css 过渡动画

目录过渡动画1 css 属性1.1 transform 变换&#xff08;平移旋转缩放&#xff09;1.2 animation 动画1.2.1 keyframes1.3 transition 过渡1.4 比较2 方式2.1 css 伪类2.2 vue <Transition> 组件2.2.1 默认名称2.2.2 自定义名称2.2.3 自定义 class2.2.4 配合 animation2.2…

sqlserver存储过程简单游标示例

test数据库有表如下&#xff1b; 创建一个存储过程&#xff0c;输出姓名和电话&#xff1b; CREATE PROCEDURE printname AS BEGINDECLARE sName varchar(20), phone varchar(20)DECLARE cursor1 CURSOR FOR --定义游标SELECT name,phonenumber from t_student OPEN cursor1 …

OpenStack的“神秘组件” 裸金属(Ironic)管理使用

OpenStack是目前全球部署最广泛的开源云基础架构&#xff0c;在OpenStack中提供的裸金属服务的项目是Ironic。OpenStack的官网主要介绍裸金属的用途在如下5方面&#xff1a; &#xff08;1&#xff09;高性能计算&#xff1b; &#xff08;2&#xff09;无法虚拟化的硬件设备的…

DSVW通关教程

DSVW通关教程 首先整体浏览网站 Blind SQL Injection (boolean) 基于布尔型的盲注: HTTP请求的响应体中不会明确的返回SQL的错误信息, 当把参数送入程序查询时&#xff0c;并且在查询条件为真的情况下返回正常页面&#xff0c;条件为假时程序会重定向到或者返回一个自定义的错…

GICv3 基本规则

目录 1.中断类型 1.1中断标识符 1.2中断如何发送给中断控制器 二、中断状态机 2.1 电平触发 2.2 边沿触发 三、亲和性路由 四、安全模型 4.1 对软件的影响 4.2 对单一安全状态的支持 五、编程模型 本章介绍了符合GICv3架构的中断控制器的基本操作。它还描述了不同…

R语言与数据分析—上(篇幅长,全)

内容过长但详细&#xff0c;分三篇写&#xff0c;总结分享也供日后参考回顾一、什么是R语言R是免费的&#xff0c;是一个全面的统计研究平台&#xff0c;提供了各式各样的数据分析技术&#xff0c;R拥有顶尖的绘图功能二、R语言优点和缺点优点1、有效的数据处理和保存机制2、拥…

LwIP系列--数据包处理和PBUF结构详解

一、目的在之前的博文中我们介绍了LwIP中的内存堆和内存池实现细节以及它们之间的优缺点对比。本篇我们将介绍LwIP中另一个比较重要的知识点&#xff0c;即数据包管理和PBUF结构&#xff1b;个人认为PBUF的设计是LwIP整个源码的亮点之一&#xff08;充分考虑了数据包处理的高效…

泛微发布数字化营销管理平台-九川汇

泛微全程数字化营销管理平台——九川汇&#xff0c;对内可以跨部门、跨组织高效协同&#xff0c;对外借助企业微信快速连接客户。 营销活动是企业运营中重要的一环&#xff0c;数字化工具如何满足企业的营销管理需求&#xff1a; 1、如何有效助力销售活动&#xff1a;帮助销售…

WebServer重写(一):日志库双缓冲和阻塞队列压测对比

目录前言重构动机模块介绍FileUtil&#xff0c;LogFile&#xff0c;LogStream&#xff0c;LoggingAsyncLogging&#xff08;重要&#xff09;压测源码前言 上次参考TinyWebserver的实现思路是&#xff1a;实现一个blockQueue, 然后实现一个日志接口类&#xff0c;这个接口类承…

ROS小车研究笔记1/31/2023 小车硬件结构及键盘移动控制节点

1 小车硬件结构 1 中控设备 上方的单片机用于控制电机运动&#xff0c;搭载wifi模块和电量显示屏。下方为树莓派&#xff0c;安装了ROS系统和Ubuntu系统&#xff0c;用于整个小车控制。显示屏和树莓派相连 2 传感器系统 激光雷达及转换器。激光雷达和转换器相连&#xff0…