当前位置: 首页 > news >正文

Spring-IOC-@Value和@PropertySource用法

1、Book.java

  • @PropertySource(value="classpath:配置文件地址") 替代  <context:property-placeholder location="配置文件地址"/>
  • @Value("${book.bid}")

    @Value("${book.bname}")

    @Value("${book.price}")

    <bean id="book"  class="com.atguigu.ioc.Book">

               <property name="bid"  value="${book.bid}"/>

               <property name="bname" vlaue="${book.bname}"/>

               <property name="price" value="${book.price}"/>

    </bean>

package com.atguigu.ioc;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Data
@Component
@PropertySource(value = "classpath:book.properties", encoding = "UTF-8")
public class Book {@Value("${book.bid}")private Integer bid;@Value("${book.bname}")private String bname;@Value("${book.price}")private Integer price;
}

2、book.properties

book.bid=1
book.bname=Java入门经典
book.price=99

3、MySpringConfiguration.java

  • @ComponentScan(basePackages={"包","包"}) 替代 <context:component-scan base-package="com.atguigu.ioc,等等">
package com.atguigu.ioc;
import org.springframework.context.annotation.ComponentScan;
@ComponentScan
public class MySpringConfiguration {
}

4、BookTest.java

package com.atguigu.ioc;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class BookTest {private BeanFactory beanFactory;@BeforeEachpublic void setup() {beanFactory = new AnnotationConfigApplicationContext(MySpringConfiguration.class);}@Testpublic void test() {System.out.println(beanFactory.getBean(Book.class));}
}
//Book(bid=1, bname=Java入门经典, price=99)

 5、父工程pom.xml

    <packaging>pom</packaging><modules><module>pro04-spring-ioc-xml</module><module>pro00-spring-handwrite</module><module>pro05-spring-ioc-annotation</module></modules><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.version>6.0.6</spring.version><junit.version>5.3.1</junit.version><lombok.version>1.18.20</lombok.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>${junit.version}</version><scope>test</scope></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></dependencies></dependencyManagement>

6、子工程pom.xml 

    <parent><groupId>com.atguigu</groupId><artifactId>pro-ssm</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>pro05-spring-ioc-annotation</artifactId><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>

相关文章:

Spring-IOC-@Value和@PropertySource用法

1、Book.java PropertySource(value"classpath:配置文件地址") 替代 <context:property-placeholder location"配置文件地址"/> Value("${book.bid}") Value("${book.bname}") Value("${book.price}") <bean id&…...

如何理解Python中一切皆对象?

Python 一、示例代码二、Python中的魔法方法 一、示例代码 有理数类 import mathclass rational:def __init__(self,p,q):self.p pself.q qdef __str__(self):return "{} / {}".format(self.p,self.q)def simplify(self):gcd math.gcd(self.p,self.q)return rat…...

【如何学习Python自动化测试】—— 鼠标键盘操作

5 、 鼠标键盘操作 在浏览器中&#xff0c;通常会用到鼠标来进行操作&#xff0c;比如右键菜单中选择一个操作&#xff0c;在 selenium 中提供了下列鼠标相关操作。 ActionChains 类提供了以下方法&#xff1a; 点击鼠标&#xff1a;click()右击鼠标&#xff1a;context…...

随笔-事儿就这么个事儿

好久没写了&#xff0c;小A要催更&#xff0c;还答应让我写一下他的经历&#xff0c;这还有啥说的&#xff0c;开整。 1、升级 前段时间登录公司的办公系统处理一个事务申请&#xff0c;发现有个粗体标红的通知&#xff0c;是关于今年的晋升名单公示。进去看了一眼&#xff0…...

django理解03 数据库引入

配置 settings.py DATABASES {"default": {"ENGINE": "django.db.backends.mysql",NAME:307_django_db,USER: root,PASSWORD: 123456,HOST: 127.0.0.1,PORT: 3306,} }先创建指定名称的数据库databases create database self_django_db DEFAUL…...

Jtti:windows中apache怎么实现负载均衡

Jtti&#xff1a;windows中apache怎么实现负载均衡 在Windows环境下&#xff0c;你可以使用Apache HTTP Server搭建负载均衡集群。Apache提供了一个模块叫做mod_proxy&#xff0c;它可以用来实现反向代理和负载均衡。以下是一个简单的步骤来配置Apache负载均衡&#xff1a; 步骤…...

2311rust,到43版本更新

1.38.0 流水编译 要编译仓库,编译器不需要完全构建依赖项.相反,只需要它们的"元数据"(即类型,依赖关系,导出列表). 在编译过程的早期生成此元数据.从Rust1.38.0开始,Cargo利用这一点,在准备好元数据后立即自动开始构建依赖的仓库. 检查错误使用mem::{uninitialize…...

前端埋点上报的几种方式

现代Web应用程序中&#xff0c;埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式&#xff0c;并详细阐述如何在项目中运用这些方式进行数据上报&#xff0c;以帮助开发者更好地进行数据收集和分析。 上报方式 在前端中&#xff0c;常见的埋点上…...

外部 prometheus监控k8s集群资源

prometheus监控k8s集群资源 一&#xff0c;通过CADvisior 监控pod的资源状态1.1 授权外边用户可以访问prometheus接口。1.2 获取token保存1.3 配置prometheus.yml 启动并查看状态1.4 Grafana 导入仪表盘 二&#xff0c;通过kube-state-metrics 监控k8s资源状态2.1 部署 kube-st…...

centos安装神通数据库

1、安装 wget工具 yum install -y wget2、安装rar解压工具 wget --no-check-certificate http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz tar zxvf rarlinux-x64-5.3.0.tar.gz && cd rar/ && make install3、下载oscar神通数据库&#xff08;linux 64…...

汇编-PUSHFD和POPFD标志寄存器值压栈和出栈

PUSHFD指令将32位EFLAGS寄存器内容压入堆栈&#xff0c; 而POPFD指令则将栈顶单元内容弹出到EFLAGS寄存器 格式&#xff1a;...

基于SSM的进销存管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…...

Django DRF限流组件

在DRF中&#xff0c;限流发生在认证、权限之后&#xff0c;限流组件的使用步骤&#xff1a; 1、编写自定义限流类&#xff1b; 2、在settings.py中配置redis&#xff1b; 3、安装django-redis; 4、启动redis服务&#xff1b; 5、局部应用&#xff0c;一般是在核心的视图中使用&…...

UEC++ day7

敌人NPC机制 敌人机制分析与需求 新建一个character类来作为敌人&#xff0c;直接建蓝图设置骨骼网格&#xff0c;因为敌人可能多种就不规定死&#xff0c;然后这个敌人肯定需要两个触发器&#xff0c;一个用于大范围巡逻&#xff0c;一个用于是否达到主角近点进行攻击 注意我…...

win11,安装python,pip,和opencv

1,安装python 在应用商店&#xff0c;输入python&#xff0c;下载安装 2&#xff0c;安装pip 在cmd中&#xff0c;输入pip install SomePackage&#xff0c;安装某一个版本的pip 3,安装opencv 在cmd中&#xff0c;输入 pip3 install opencv-contrib-python -i https://pyp…...

kafka入门(一):kafka消息发送与消费

kafka的基础概念 Producer (消息生产者) 向主题发布消息的客户端应用程序称为生产者(Producer)&#xff0c;生产者用于持续不断的向某个主题发送消息。 Consumer (消息消费者) 订阅主题消息的客户端程序称为消费者(Consumer)&#xff0c;消费者用于处理生产者产生的消息。 Co…...

CMap数据库筛选化学药物

数据库clue.io 文献链接&#xff1a;连接图谱&#xff1a;使用基因表达特征连接小分子、基因和疾病 |科学 (science.org) 基本模式&#xff1a;利用CMap将差异基因列表与数据库参考数据集比对&#xff1b;根据差异表达基因在参考基因表达谱富集情况得到一个相关性分数&#…...

mysql命令行(mysql-client)连接数据库

有时项目连接不上数据库&#xff0c;报错鉴权失败&#xff0c;先用mysql工具连接下&#xff0c;容易发现问题。 直接输入mysql看是否已安装&#xff0c;如果没有就安装下。 yum -y install mysql-client; 这个名称一直记不准&#xff0c;有时记为mysql-cli&#xff0c;结果发现…...

sklearn中的TfidfTransformer和gensim中的TfidfModel的区别

sklearn.feature_extraction.text.TfidfTransformer 和 gensim.models.TfidfModel 都是用于计算文本数据的 TF-IDF 值的工具。它们的主要区别在于实现方式和输入数据的格式。 1、实现方式和输入数据格式&#xff1a; TfidfTransformer 是 scikit-learn 中的一个类&#xff0c;…...

spring注解

spring注解 Configuration 用于标注配置类Bean 结合Configuration&#xff08;full mode&#xff09;使用或结合Component&#xff08;light mode&#xff09;使用。可以导入第三方组件,入方法有参数默认从IOC容器中获取&#xff0c;可以指定initMethod和destroyMethod 指定初…...

AI驱动硬件内核优化:从手工编码到LLM自动生成

## 1. 硬件内核技术概述&#xff1a;从手工编码到AI驱动的范式转变硬件内核&#xff08;Hardware Kernel&#xff09;是直接面向特定处理器架构编写的底层执行单元&#xff0c;它通过精细控制指令流水线、寄存器分配和内存访问模式来最大化硬件计算效率。在AI加速器领域&#x…...

2026.5.7 消防监控学习 80min

防烟系统分为自然通风系统和机械加压送风系统,排烟系统分为自然排烟系统和机械排烟系统。机械加压送风方式阻止火灾烟气侵入楼梯间,前室,避难层(间)等空间的系统;机械排烟系统是通过机械排烟的方式,将房间,走道等空间的火灾烟气排至建筑外的系统一.双电源自动切换装置1.作用主电…...

如何在 VSCode 中安全地管理 Git 仓库

引言 在使用 Visual Studio Code (VSCode) 进行开发时,管理 Git 仓库是一个常见的需求,特别是当你通过远程连接到服务器或使用 Docker 容器时。如何避免无意中更改并推送别人的代码是一个新手容易遇到的问题。本文将详细介绍如何在 VSCode 中正确管理 Git 仓库,并通过实例展…...

RelayPlane Proxy:本地AI成本管家,智能路由与预算管控实战

1. 项目概述&#xff1a;一个为AI开发者而生的本地成本管家如果你和我一样&#xff0c;每天都在用Claude Code、Cursor或者各种AI Agent框架写代码、做分析&#xff0c;那你肯定对月底的API账单感到过“肉疼”。尤其是当你的Agent在后台不知疲倦地调用Opus或者GPT-4o来处理一些…...

终极桌面整理指南:如何使用NoFences免费打造高效工作空间

终极桌面整理指南&#xff1a;如何使用NoFences免费打造高效工作空间 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了Windows桌面上杂乱无章的图标&#xff1f;重…...

XXL-Job单机模式玩出花:模拟集群、灰度发布与本地调试的三种实战技巧

XXL-Job单机模式玩出花&#xff1a;模拟集群、灰度发布与本地调试的三种实战技巧 在分布式任务调度领域&#xff0c;XXL-Job以其轻量级、易用性和强大的功能成为众多开发者的首选。然而&#xff0c;当大家的目光都聚焦在集群部署和分布式执行时&#xff0c;单机模式的价值往往被…...

【EAI(企业应用集成)工具】Asteria warp簡単紹介(アステリア ワープ)

目录 ■前言 ■Asteria warp簡単紹介 ■ASTERIA Warpとは ■ASTERIA Warp 命名哲学 ■ASTERIA WARPについて ■19年連続国内シェアNo.1 ■10,000社以上の企業での導入実績 ■ノーコードだから誰でも使える ■市场地位&#xff1a;日本市场的绝对王者 ■核心产品力&am…...

告别数据抖动!STM32CubeIDE配置ADC+DMA实现高精度多路采样(基于STM32L496开发板)

STM32L496开发实战&#xff1a;ADCDMA高精度采样系统设计指南 在嵌入式测量系统中&#xff0c;ADC采样抖动问题如同精密钟表里的沙粒&#xff0c;细微却足以破坏整个系统的可靠性。某工业温度监测项目曾因ADC采样值5LSB的波动&#xff0c;导致PID控制频繁振荡&#xff0c;最终通…...

在taotoken模型广场根据任务需求与预算进行模型选型实践

在 Taotoken 模型广场根据任务需求与预算进行模型选型实践 1. 模型选型的核心考量维度 当开发者或产品团队需要为具体任务选择大模型时&#xff0c;通常需要平衡三个关键因素&#xff1a;任务质量要求、响应速度预期和预算限制。Taotoken 模型广场将这些维度结构化呈现&#…...

高精度人体3D重建技术:从单张照片到虚拟模型

1. 项目背景与核心价值在数字内容创作领域&#xff0c;高精度人体重建技术一直是计算机视觉和图形学的圣杯级课题。传统方案往往需要在专业摄影棚配备数十台高清相机阵列&#xff0c;通过多视角拍摄获取三维点云数据。这种方案不仅设备成本高达数百万&#xff0c;后期处理流程也…...