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

初学Spring之 JavaConfig 实现配置

使用 Java 方式配置 Spring

写个实体类:

@Component 表示这个类被 Spring 接管了,注册到了容器中

package com.demo.pojo;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Component //这个类被Spring接管了,注册到了容器中
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 会被 Spring 容器托管,注册到容器中,因为他本来就是一个 @Component

@Configuration 代表这是一个配置类,和 beans.xml 一样

再写个方法:

@Bean:

注册一个 bean,相当于 bean 标签

这个方法的名字,相当于 bean 标签中的 id 属性

这个方法的返回值,相当于 bean 标签中的 class 属性

package com.demo.config;import com.demo.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;//@Configuration会被Spring容器托管,注册到容器中,因为他本来就是一个@Component
//@Configuration代表这是一个配置类,和beans.xml一样
@Configuration
public class Config {/*注册一个bean,相当于bean标签这个方法的名字,相当于bean标签中的id属性这个方法的返回值,相当于bean标签中的class属性*/@Beanpublic User getUser(){return new User(); //return返回要注入到bean的对象}
}

扫描:@ComponentScans("xx")

导入其他类:@Import(xx.class)

写个测试类:

如果完全使用了配置类方式去做,

只能通过 AnnotationConfig 上下文来获取容器,

通过配置类的 class 对象加载

import com.demo.config.Config;
import com.demo.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class MyTest {public static void main(String[] args) {//如果完全使用了配置类方式去做,只能通过AnnotationConfig上下文来获取容器,通过配置类的class对象加载ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);User getUser = (User) context.getBean("getUser");System.out.println(getUser.getName());}
}
http://www.lryc.cn/news/392631.html

相关文章:

  • 在Java项目中实现实时日志分析
  • Git基础知识与常用命令指南
  • 第8章:Electron 剪贴版和消息通知
  • Android zygote访谈录
  • nuxt、vue树形图d3.js
  • 香橙派AIpro测评:yolo8+usb鱼眼摄像头的Camera图像获取及识别
  • 大华设备接入GB28181视频汇聚管理平台EasyCVR安防监控系统的具体操作步骤
  • Laravel包开发指南:构建可重用组件的艺术
  • JavaDS预备知识
  • 日常学习--20240705
  • Java中初始化一个List的多种方式
  • BeikeShop多国语言多货币商城系统源码基于Laravel框架
  • gradle构建工具
  • Java需要英语基础吗?
  • 14-36 剑和诗人10 - 用LLM构建 AI 代理平台
  • 如何在Java中实现批量数据处理
  • 项目部署_持续集成_Jenkins
  • 如何选择TikTok菲律宾直播网络?
  • Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method--论文笔记
  • 信息收集-arping
  • 一文了解常见DNS问题
  • TCP/IP 网络协议族分层
  • Qt:5.QWidget属性介绍(Enabled属性-控件可用性设置、geometry属性-控件位置/大小设置)
  • NoSQL 非关系型数据库 Redis 的使用:
  • python库(5):Psutil库实现系统和硬件监控工具
  • 实验四 图像增强—灰度变换之直方图变换
  • 使用el-col和el-row布局,有版心,一页有两栏布局 三栏布局 四栏布局 使用vue动态渲染元素
  • 中软国际加入龙蜥社区,促进“技术+生态”双向赋能
  • adobe pdf设置默认打开是滚动而不是单页视图
  • React Hooks 深度解析