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=993、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 、 鼠标键盘操作 在浏览器中,通常会用到鼠标来进行操作,比如右键菜单中选择一个操作,在 selenium 中提供了下列鼠标相关操作。 ActionChains 类提供了以下方法: 点击鼠标:click()右击鼠标:context…...
随笔-事儿就这么个事儿
好久没写了,小A要催更,还答应让我写一下他的经历,这还有啥说的,开整。 1、升级 前段时间登录公司的办公系统处理一个事务申请,发现有个粗体标红的通知,是关于今年的晋升名单公示。进去看了一眼࿰…...
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:windows中apache怎么实现负载均衡 在Windows环境下,你可以使用Apache HTTP Server搭建负载均衡集群。Apache提供了一个模块叫做mod_proxy,它可以用来实现反向代理和负载均衡。以下是一个简单的步骤来配置Apache负载均衡: 步骤…...
2311rust,到43版本更新
1.38.0 流水编译 要编译仓库,编译器不需要完全构建依赖项.相反,只需要它们的"元数据"(即类型,依赖关系,导出列表). 在编译过程的早期生成此元数据.从Rust1.38.0开始,Cargo利用这一点,在准备好元数据后立即自动开始构建依赖的仓库. 检查错误使用mem::{uninitialize…...
前端埋点上报的几种方式
现代Web应用程序中,埋点上报是一种重要的数据收集和分析手段。本文将介绍前端埋点上报的几种常见方式,并详细阐述如何在项目中运用这些方式进行数据上报,以帮助开发者更好地进行数据收集和分析。 上报方式 在前端中,常见的埋点上…...
外部 prometheus监控k8s集群资源
prometheus监控k8s集群资源 一,通过CADvisior 监控pod的资源状态1.1 授权外边用户可以访问prometheus接口。1.2 获取token保存1.3 配置prometheus.yml 启动并查看状态1.4 Grafana 导入仪表盘 二,通过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神通数据库(linux 64…...
汇编-PUSHFD和POPFD标志寄存器值压栈和出栈
PUSHFD指令将32位EFLAGS寄存器内容压入堆栈, 而POPFD指令则将栈顶单元内容弹出到EFLAGS寄存器 格式:...
基于SSM的进销存管理系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
Django DRF限流组件
在DRF中,限流发生在认证、权限之后,限流组件的使用步骤: 1、编写自定义限流类; 2、在settings.py中配置redis; 3、安装django-redis; 4、启动redis服务; 5、局部应用,一般是在核心的视图中使用&…...
UEC++ day7
敌人NPC机制 敌人机制分析与需求 新建一个character类来作为敌人,直接建蓝图设置骨骼网格,因为敌人可能多种就不规定死,然后这个敌人肯定需要两个触发器,一个用于大范围巡逻,一个用于是否达到主角近点进行攻击 注意我…...
win11,安装python,pip,和opencv
1,安装python 在应用商店,输入python,下载安装 2,安装pip 在cmd中,输入pip install SomePackage,安装某一个版本的pip 3,安装opencv 在cmd中,输入 pip3 install opencv-contrib-python -i https://pyp…...
kafka入门(一):kafka消息发送与消费
kafka的基础概念 Producer (消息生产者) 向主题发布消息的客户端应用程序称为生产者(Producer),生产者用于持续不断的向某个主题发送消息。 Consumer (消息消费者) 订阅主题消息的客户端程序称为消费者(Consumer),消费者用于处理生产者产生的消息。 Co…...
CMap数据库筛选化学药物
数据库clue.io 文献链接:连接图谱:使用基因表达特征连接小分子、基因和疾病 |科学 (science.org) 基本模式:利用CMap将差异基因列表与数据库参考数据集比对;根据差异表达基因在参考基因表达谱富集情况得到一个相关性分数&#…...
mysql命令行(mysql-client)连接数据库
有时项目连接不上数据库,报错鉴权失败,先用mysql工具连接下,容易发现问题。 直接输入mysql看是否已安装,如果没有就安装下。 yum -y install mysql-client; 这个名称一直记不准,有时记为mysql-cli,结果发现…...
sklearn中的TfidfTransformer和gensim中的TfidfModel的区别
sklearn.feature_extraction.text.TfidfTransformer 和 gensim.models.TfidfModel 都是用于计算文本数据的 TF-IDF 值的工具。它们的主要区别在于实现方式和输入数据的格式。 1、实现方式和输入数据格式: TfidfTransformer 是 scikit-learn 中的一个类,…...
spring注解
spring注解 Configuration 用于标注配置类Bean 结合Configuration(full mode)使用或结合Component(light mode)使用。可以导入第三方组件,入方法有参数默认从IOC容器中获取,可以指定initMethod和destroyMethod 指定初…...
AI驱动硬件内核优化:从手工编码到LLM自动生成
## 1. 硬件内核技术概述:从手工编码到AI驱动的范式转变硬件内核(Hardware Kernel)是直接面向特定处理器架构编写的底层执行单元,它通过精细控制指令流水线、寄存器分配和内存访问模式来最大化硬件计算效率。在AI加速器领域&#x…...
2026.5.7 消防监控学习 80min
防烟系统分为自然通风系统和机械加压送风系统,排烟系统分为自然排烟系统和机械排烟系统。机械加压送风方式阻止火灾烟气侵入楼梯间,前室,避难层(间)等空间的系统;机械排烟系统是通过机械排烟的方式,将房间,走道等空间的火灾烟气排至建筑外的系统一.双电源自动切换装置1.作用主电…...
如何在 VSCode 中安全地管理 Git 仓库
引言 在使用 Visual Studio Code (VSCode) 进行开发时,管理 Git 仓库是一个常见的需求,特别是当你通过远程连接到服务器或使用 Docker 容器时。如何避免无意中更改并推送别人的代码是一个新手容易遇到的问题。本文将详细介绍如何在 VSCode 中正确管理 Git 仓库,并通过实例展…...
RelayPlane Proxy:本地AI成本管家,智能路由与预算管控实战
1. 项目概述:一个为AI开发者而生的本地成本管家如果你和我一样,每天都在用Claude Code、Cursor或者各种AI Agent框架写代码、做分析,那你肯定对月底的API账单感到过“肉疼”。尤其是当你的Agent在后台不知疲倦地调用Opus或者GPT-4o来处理一些…...
终极桌面整理指南:如何使用NoFences免费打造高效工作空间
终极桌面整理指南:如何使用NoFences免费打造高效工作空间 【免费下载链接】NoFences 🚧 Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 你是否厌倦了Windows桌面上杂乱无章的图标?重…...
XXL-Job单机模式玩出花:模拟集群、灰度发布与本地调试的三种实战技巧
XXL-Job单机模式玩出花:模拟集群、灰度发布与本地调试的三种实战技巧 在分布式任务调度领域,XXL-Job以其轻量级、易用性和强大的功能成为众多开发者的首选。然而,当大家的目光都聚焦在集群部署和分布式执行时,单机模式的价值往往被…...
【EAI(企业应用集成)工具】Asteria warp簡単紹介(アステリア ワープ)
目录 ■前言 ■Asteria warp簡単紹介 ■ASTERIA Warpとは ■ASTERIA Warp 命名哲学 ■ASTERIA WARPについて ■19年連続国内シェアNo.1 ■10,000社以上の企業での導入実績 ■ノーコードだから誰でも使える ■市场地位:日本市场的绝对王者 ■核心产品力&am…...
告别数据抖动!STM32CubeIDE配置ADC+DMA实现高精度多路采样(基于STM32L496开发板)
STM32L496开发实战:ADCDMA高精度采样系统设计指南 在嵌入式测量系统中,ADC采样抖动问题如同精密钟表里的沙粒,细微却足以破坏整个系统的可靠性。某工业温度监测项目曾因ADC采样值5LSB的波动,导致PID控制频繁振荡,最终通…...
在taotoken模型广场根据任务需求与预算进行模型选型实践
在 Taotoken 模型广场根据任务需求与预算进行模型选型实践 1. 模型选型的核心考量维度 当开发者或产品团队需要为具体任务选择大模型时,通常需要平衡三个关键因素:任务质量要求、响应速度预期和预算限制。Taotoken 模型广场将这些维度结构化呈现&#…...
高精度人体3D重建技术:从单张照片到虚拟模型
1. 项目背景与核心价值在数字内容创作领域,高精度人体重建技术一直是计算机视觉和图形学的圣杯级课题。传统方案往往需要在专业摄影棚配备数十台高清相机阵列,通过多视角拍摄获取三维点云数据。这种方案不仅设备成本高达数百万,后期处理流程也…...
