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

Spring-使用Java的方式配置Spring

目录

前言

一、使用Java配置Spring


前言

使用纯Java的配置方式,在SpringBoot中随处可见,是必须要学习的

一、使用Java配置Spring

配置Spring有多种方式,我们现在要完全不使用Spring的xml配置了,全权交给Java来做!
JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能!

使用注解的方式完成配置

实体类

//这里这个注解的意思,就是说明这个类被Spring接管了,注册到了容器中
@Component
public class User {private String name;public String getName() {return name;}@Value("埼玉") //属性注入值public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +'}';}
}

配置文件

  • @Configuration:这是一个配置类,就和我们之前看的beans.xml,这个也会Spring容器托管,注册到容器中,因为它本来就是一个@Component
  • @ComponentScan("com.zlh.config"):扫描包内的Bean
  • @Import(Configuration.class):导入其他Java配置类
  • @Bean:将方法的返回值注册为Bean,可以用于导入第三方对象
// 这个也会Spring容器托管,注册到容器中,因为它本来就是一个@Component
// @Configuration代表这是一个配置类,就和我们之前看的beans.xml
@Configuration
@ComponentScan("com.zlh.config")
@Import(Configuration.class)
public class AppConfig {// 注册一个bean,就相当于我们之前写的一个bean标签// 这个方法的名字,就相当于bean标签中id属性// 这个方法的返回值,就相当于bean标签中的class属性@Beanpublic User user(){return new User(); // 就是返回要注入到bean的对象!}}

测试类

public class MyTest {public static void main(String[] args) {AnnotationConfigApplicationContext context= new AnnotationConfigApplicationContext(AppConfig.class);User user = context.getBean("user", User.class);System.out.println(user);}}

这里如果有同学获取Bean出错,可以留意一下spring-core版本

<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.10</version>
</dependency>

这种纯Java的配置方式,在SpringBoot中随处可见!

http://www.xdnf.cn/news/3924.html

相关文章:

  • 基于Python+MongoDB猫眼电影 Top100 数据爬取与存储
  • 常用CPU、GPU、NPU、DSP、ASIC等芯片区别介绍
  • RGB三原色
  • MATLAB仿真定点数转浮点数(对比VIVADO定点转浮点)
  • 【AI论文】像素修补师(PixelHacker):具有结构和语义一致性的图像修复(Image Inpainting)
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.2 数据分组与透视(CUBE/ROLLUP/GROUPING SETS)
  • 三十二、命名实体识别概述
  • 前端-Vue的项目流程
  • 基于EFISH-SCB-RK3576工控机/SAIL-RK3576核心板的KTV点歌主机技术方案‌(国产化替代J1900的全场景技术解析)
  • DotNetBrowser 3.2.0 版本发布啦!
  • SpringMVC——第6章:RESTFul编程风格
  • Winform(11.案例讲解1)
  • 用户模块 - IP归属地功能实现与测试
  • Cookie 与 Session详解
  • 【ArcGIS Pro微课1000例】0066:多边形要素添加折点,将曲线线段(贝塞尔、圆弧和椭圆弧)替换为线段?
  • /etc/kdump.conf 配置详解
  • 方法:批量识别图片区域文字并重命名,批量识别指定区域内容改名,基于QT和阿里云的实现方案,详细方法
  • 飞致云开源社区月度动态报告(2025年4月)
  • MySQL——数据库基础操作
  • 蓝桥杯单片机国赛模板——基于柳离风模板
  • Scratch
  • [Linux]物理地址到虚拟地址的转化
  • socket,http
  • NOI 2025 大纲更新:算法竞赛的新风向标
  • ComfyUI学习笔记,案例四:inpaint
  • 2025 年最新树莓派 Pico 连接 OLED 显示字模汉字详细教程
  • 数字社会学家唐兴通谈数字行动主义网络行动主义与标签行动主义,理解它才算抓住AI社会学与网络社会学关键所在
  • 电路研究9.3.3——合宙Air780EP中的AT开发指南:HTTP(S)-HTTP GET 示例
  • Model Context Protocol (MCP)笔记
  • 如何用git将项目上传到github