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

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中随处可见!

相关文章:

  • 每日c/c++题 备战蓝桥杯(P1886 滑动窗口 /【模板】单调队列)
  • 大模型推理框架简介
  • 微前端qiankun动态路由权限设计与数据通信方案
  • 反常积分(广义积分)
  • 机器学习模型训练模块技术文档
  • XZ03_Overleaf使用教程
  • 名词解释DCDC
  • Wannier90文件与参数
  • Three.js + React 实战系列 - 项目展示区开发详解 Projects 组件(3D 模型 + 动效 + 状态切换)✨
  • DeepSeek技术发展详细时间轴与技术核心解析
  • 【KWDB 创作者计划】基于 ESP32 + KWDB 的智能环境监测系统实战
  • 人工智能浪潮中Python的核心作用与重要地位
  • DeepSeek成本控制的三重奏
  • 学习路线(工业自动化软件架构)
  • 【将你的IDAPython插件迁移到IDA 9.x:核心API变更与升级指南】
  • suna工具调用可视化界面实现原理分析(一)
  • 2025系统架构师---论面向对象的软件设计
  • S100平台调试RS485/RS232
  • JavaSE笔记--反射篇
  • 位运算-详细总结
  • 习近平同欧洲理事会主席科斯塔、欧盟委员会主席冯德莱恩就中欧建交50周年互致贺电
  • 市场驱动的系统改造:丹麦零弃风经验研究
  • 泽连斯基:美乌矿产协议将提交乌拉达批准
  • 停电催生商机,中国品牌 “照亮” 西班牙
  • 赵乐际主持十四届全国人大常委会第十五次会议闭幕会并作讲话
  • 黄育奇当选福建惠安县人民政府县长