JavaConfig常用注解用法汇总

Config程序配置文件操作实践及代码详注 程序配置文件操作实践及代码详注 阅读详情

JavaConfig

我们通常使用Spring都会使用xml对Spring进行配置,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系,使用起来很不方便。

在Spring3.0开始,Spring官方就已经开始推荐使用java配置来代替传统的xml配置了,它允许开发者将bean的定义和Spring的配置编写到到Java类中,不过似乎在国内并未推广盛行。当SpringBoot来临,人们才慢慢认识到java配置的优雅,但是,也仍然允许使用经典的XML方式来定义bean和配置spring。

JavaConfig注解用法汇总

JavaConfig配置IoC/DI

@Configuration

在类上贴该注解表示该类是Spring的配置类, 具有applicationContext.xml文件的作用

@Bean

在Spring的配置类的方法上贴该注解后, 该方法返回的对象会交给Spring容器管理,替代applicationContext.xml中的bean标签

@Bean注解中的属性

在xml配置bean的方式中,我们可以在bean标签中的id,name,init-method,destroy-method,scope等属性来完成对应的配置,在使用JavaConfig方式中我们也一样能通过相应的配置来完成同样的效果,这些效果大多封装到@Bean注解的属性中

@Bean注解中的属性
name: 对应bean标签中的name属性,用于给bean取别名
initMethod: 对应bean标签中的init-method属性,配置bean的初始化方法
destroyMethod: 对应bean标签中的destroy-method属性,配置bean的销毁方法
注意: 在配置类的方式中有许多的默认规定,比如:
bean的id就是当前方法名
配置多例则是在方法上添加@Scope(“prototype”)注解来实现,一般不用配,默认单例即可

@Scope

@Scope注解是springIoc容器中的一个作用域,在 Spring IoC 容器中具有以下几种作用域:基本作用域singleton(单例)、prototype(多例),Web 作用域(reqeust、session、globalsession),自定义作用域。

a.singleton单例模式 – 全局有且仅有一个实例
b.prototype原型模式 – 每次获取Bean的时候会有一个新的实例
c.request – request表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP request内有效
d.session – session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效
e.globalsession – global session作用域类似于标准的HTTP Session作用域,不过它仅仅在基于portlet的web应用中才有意义

@ComponentScan

在Spring配置类上贴该注解表示开启组件扫描器,默认扫描当前配置类所在的包,也可以自己指定,替代xml配置中的<context:component-scan />标签

实例
  1. 定义一个配置类,替代之前的XML文件,类中定义方法,返回bean对象交给Spring管理
/**
 * @Configuration
 * 贴有该注解的类表示Spring的配置类
 * 用于替代传统的applicationContext.xml
 */
@Configuration
public class JavaConfig { 
    
    /**
     * @Bean
     * 该注解贴在配置类的方法上,该方法会被Spring容器自动调用
     * 并且返回的对象交给Spring管理
     * 相当于<bean id="someBean" class="cn.wolfcode.common.SomeBean"/>
     */
    @Bean
    public SomeBean someBean() {
        return new SomeBean();
    }
}
  1. 加载配置类,启动AnnotationConfigApplicationContext容器对象,测试效果
public class App {
    @Test
    public void testJavaConfig() {
        //1:加载配置类,创建Spring容器
        ApplicationContext ctx = 
            new AnnotationConfigApplicationContext(JavaConfig.class);
        //2:从容器中取出SomeBean对象
        SomeBean someBean = ctx.getBean(SomeBean.class);
        System.out.println(someBean);
    }
}
@Controller 控制器(注入服务)

用于标注控制层组件(如struts中的action)

@Service 服务(注入dao)

用于标注业务层组件

@Repository (实现dao访问)

用于标注数据访问组件,即DAO组件.

@Component

把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>,泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

JavaConfig配置导入

@Import

@Import(OtherConfig.class) :配置类与配置类间的引入注解。将指定的配置类,导入到当前配置类。等价于<import resource="applicationContext-web.xml" />

@ImportResource

ImportResources(locations="classpath:applicationContext.xml") :配置文件与配置类间引入注解,将指定配置文件,导入到当前配置类。

@PropertySource

从指定位置加装资源文件到Spring容器的环境变量对象中

@Value

单个参数获取

通过@Value将外部配置文件的值动态注入到Bean中。配置文件主要有两类:

  • application.properties。application.properties在spring boot启动时默认加载此文件
  • 自定义属性文件。自定义属性文件通过@PropertySource加载。@PropertySource可以同时加载多个文件,也可以加载单个文件。如果相同第一个属性文件和第二属性文件存在相同key,则最后一个属性文件里的key启作用。
@ConfigurationProperties

批量参数获取,通过@ConfigurationProperties(prefix = "propbind")的prefix前缀属性获取。

案例

资源文件的导入

Excel曲线拟合实战:从基础趋势线到高级回归分析 本文系统介绍了Excel曲线拟合的完整工作流,从基础的散点图与趋势线应用,到利用Solver插件进行自定义高级回归分析。文章详细讲解了线性、多项式、指数、对数等六大常用数学模型的适用场景与选择方法,并强调了通过R²值、残差图评估拟合效果、避免过拟合与外推风险的关键步骤,帮助读者掌握从数据探索到预测评估的实战技能。 阅读详情

相关推荐

Win10/Win11共享打印机0x00000709终极修复指南:从注册表到LPD协议的全面解决方案

本文提供了Win10/Win11共享打印机0x00000709错误的终极修复指南,涵盖从注册表修改到LPD协议的全面解决方案。通过详细分析错误根源、基础修复四步法、高阶LPD协议方案及企业级深度修复策略,帮助用户彻底解决打印机共享问题,提升局域网打印效率。

weixin_33724046的博客 309

JavaConfig

*JavaConfig 什么是JavaConfig? Spring JavaConfig是Spring社区的产品,他提供了配置Spring IOC容器的纯Java方法 javaConfig的作用 利用纯java开发在不用添加xml配置文件的情况下使用注解以此达到高效的开发 JavaConfig的优点 1.面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分使用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。 2.减少或者消除XML配置。基于依赖注入原则的

zhangaiav的博客 1749

AI+Xmind自动生成测试用例(思维导图格式)

最后:我是Walker,一个热爱分享编程知识的程序员,希望能够帮助到你!

Think_and_work的博客 2332

【SpringBoot知识点预备】| Xml 和 JavaConfig

【SpringBoot知识点预备】| Xml 和 JavaConfig

m0_61933976的博客 2295

RLHF的数学表示

RLHF(Reinforcement Learning with Human Feedback)是一种结合了强化学习和人类反馈的机器学习方法。它通常用于训练智能体(agent)在复杂环境中做出决策,同时利用人类的反馈来指导和改进学习过程。RLHF 没有一个统一的数学表示式,因为它依赖于具体的应用场景和实现细节。然而,我们可以从强化学习和人类反馈的角度来描述RLHF的一些关键数学概念。

xw555666的博客 687

从波士顿动力SpotMini拆解看四足机器人机械设计:关节布局与电机选型的5个关键决策点

本文深入解析波士顿动力SpotMini四足机器人的机械设计,聚焦关节布局与电机选型的5个关键决策点。通过拆解髋关节偏移距、膝关节传动链、电机热管理等核心设计,揭示商业级四足机器人的工程智慧,为工业巡检、物流机器人等应用提供实用参考。

postgres8guard的博客 892

Spring入门理解(七)JavaConfig实现配置

前面我们一直使用xml实现配置,最后使用注解代替xml实现配置,本文将再介绍一个实现配置的方法。javaConfig是spring4之后出现的新特性,是利用Java语言实现注册,比xml更灵活。 1 官网介绍 javaConfig代替xml 测试 2 案例实现(注解Bean) 3 代码分析 User.java //@Component public class User { public String name; public String getName() { .

Wyatt_zhai 5282

手把手完整实现STM32+ESP8266+MQTT+阿里云服务器+手机APP应用——第一节—阿里云物联网平台配置+IoTStudio界面绘制+MQTT.fx模拟MQTT客户端与使用AT命令发布订阅消息

通过MQTT.fx模拟连接以及通过CH340串口连接ESP8266发送AT命令,实现阿里云物联网平台发送数据同时接收数据,IOT studio界面显示数据。具体来说:使用ESP8266(本系列使用了ESP8266-ESP01/01S以及正点原子的ATK-ESP8266) 来连接网络,获取设备数据发送到阿里云物联网平台并显示数据,通过IOT studio界面显示数据并发送命令控制设备。本系列使用的主控芯片是STM32F103系列,当然也可以使用其他系列单片机都可以实现,思路都是一样的。同时本系列有手机APP源

嵌入式阿齐Archie 5万+

JavaConfig是什么?

你是否曾经困惑于Spring框架中XML配置文件的繁琐与复杂?是否期待一种更简洁、更直观、更强大的配置方式?那么,JavaConfig正是你所需的答案!

LA1245780的博客 919

芯擎SEC1000芯片参数详细介绍

随着龙鹰一号的不断进化和应用,未来的智能座舱将不仅仅是显示和控制的集成,更是人与车之间的一种默契和无缝交互的体现。在汽车行业迈向智能化和电动化的浪潮中,座舱已不仅仅是一个驾驶者的操作空间,而是逐渐演变为一个集娱乐、信息、控制于一体的智能交互平台。今天的汽车不仅需要强劲的动力和炫酷的外观,更需要一颗强大而智能的“心脏”来支撑复杂的座舱体验和安全驾驶需求。想象一下,未来的汽车不再仅仅是交通工具,它将成为你的移动私人管家,了解你的习惯,甚至提前预测你的需求。让我们一起走进龙鹰一号的世界,探索智能座舱的无限可能!

weixin_43199439的博客 1722

Codex入门01-环境安装(小白入门:手把手教你安装配置,国内网络也能搞定)

本文手把手教你从零搭建 Codex CLI 开发环境。内容涵盖 Node.js 安装(macOS/Windows/Linux)、Codex CLI 全局安装、ChatGPT 账号登录认证,以及国内网络代理配置。还包括常见问题排查和一键启动脚本编写。跟着截图一步步操作,10分钟搞定全部环境,开始用AI写代码!

yueyeguzhuo的专栏 343

什么是Javaconfig?springboot的常用注解和原理是什么?

一.什么是Javaconfig JavaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的。JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由程序员使用 Java 自己编写的 Java 类。 定义 JavaConfig 类 对于一...

千手修罗之乐少的博客 2074

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用 JavaConfig 配置 Spring

JavaConfig 是 Spring 框架提供的一种基于 Java 的配置方式。它通过使用注解标记的类来替代传统的 XML 配置文件。JavaConfig 的核心思想是“约定优于配置”,通过注解和代码来定义 Bean 及其依赖关系。使用// 配置 Bean 的方法使用@Bean@Bean。

午夜后是黎明,风雨后是骄阳 1267

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring系列(六)注解开发和JavaConfig

扩展:Spring系列学习汇总 文章目录

大鱼的博客 806

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Spring中 JavaConfig和常见注解

跟杨春娟学SpringBoot笔记:Spring中 JavaConfig和常见注解 完成:第一遍 1.创建一个SpringFramework项目框架项目准备工作有哪些? 步骤一:File——》maven project 步骤二:勾选Create a simple project 步骤三:Group Id:com.adbycool Artifact Id:JavaConfigProject Name:JavaConfigProject 点finish 步骤四:点击pom.xml,直接add Spring-w

ADbyCool的博客 895

Spring JavaConfig:注解驱动的配置革命

本文深入解析Spring JavaConfig作为注解驱动配置新范式的核心价值与实践方法。JavaConfig以纯Java代码替代传统XML配置,通过@Configuration、@Bean等核心注解实现类型安全、可重构的Bean管理,支持组件扫描、外部属性加载和环境隔离等特性。文章详细对比了JavaConfig与XML的优劣,并给出配置拆分、构造器注入等最佳实践,指出其已成为SpringBoot自动配置和微服务架构的基础配置方案。掌握JavaConfig能帮助开发者构建更简洁、高效且可维护的Spring应

2401_83675559的博客 1408

Spring基于JavaConfig配置的注解

javaConfig注解 1.Configuration注解 该注解贴在类上,表示是一个配置类。相当于xml配置 2.Bean注解 Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名 也可以执行生命周期的回调函数,类似@PostConstruct(初始化方法) 和 @PreDestroy(...

以梦为马,不负韶华 1644

JavaConfig核心注解与实战指南

java运行// 业务类:无需任何注解,通过JavaConfig手动注册为Bean// 构造器注入(推荐)// setter注入(可选)JavaConfig 是 Spring 推荐的配置方式,核心是通过定义配置类,@Bean定义 Bean,配合@Autowired等注解实现依赖注入和组件管理。其优势在于类型安全、重构友好、代码一体化,是 Spring Boot 的核心配置基础,也是现代 Spring 开发的首选方案。编辑分享如何在Spring Boot项目中使用JavaConfig。

qsxxlc的博客 1049

SpringMVC xml,注解和javaConfig配置简介。

SpringMVC 配置简介 一提到springMVC大家一定都很熟悉,目前好多公司都还在使用。 但是一提到springMVC的运行流程,估计有好多人就要百度了。再提springMVC的配置,估计更多的人都比较陌生。 目前的Spring 版本是支持 xml,注解和javaConfig配置的。当然这三个也能混合使用。 我们百度一下 spring mvc 搭建。结果基本上都是xml 和 注解的混合使用。 下面我来分享一下我对springMVC的个人理解。 第一步我们先新建一个maven webapp项目 建立

weixin_43918003的博客 938

Spring4新的javaConfig注解

Spring4新的javaConfig注解 1、@RestController   spring4为了更方便的支持restfull应用的开发,新增了RestController的注解,比Controller注解多的功能就是给底下的RequestMapping方法默认都加上ResponseBody注解,省得自己再去每个去添加该注解。 2、@Configuration 这个标注该类是sprin...

wo1901446409的博客 284

【spring】Spring中有几种配置方式(xml、注解<jsr250>、JavaConfig)

文章目录概述1. 如何用XML配置Spring2. 怎样用注解的方式配置 Spring?3. 基于JavaConfig的配置 概述 将 Spring 配置到应用开发中有以下三种方式: 基于xml配置:通常一开头 基于注解配置:@Controller @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cacheable @CacheFlush @Resource @PostConstruct @PreDestroy @Rep

m0_45406092的博客 1747

Spring配置扩展之JavaConfig

JavaConfig 是 Spring 框架中基于纯 Java 代码的配置方式,用于替代传统的 XML 配置。通过注解(如@Bean)定义 Spring 容器的组件和依赖关系,使配置更加类型安全且易于维护。

d464858的博客 918

(五)JavaConfig

一、介绍 Java Config是指基于Java配置的Spring。传统的Spring一般都是基本xml配置的,后来Spring3.0新增了许多Java Config的注解,特别是Spring Boot,基本都是清一色的Java Config。 在XML配置和直接注解式配置之外还有一种有趣的选择方式-JavaConfig,它是在Spring 3.0开始从一个独立的项目并入到Spring中的。它结合了XML的解耦和JAVA编译时检查的优点。JavaConfig可以看成一个XML文件,只不过是使用Java编写的

weixin_44138481的博客 664

Spring注解开发——JavaConfig

Spring注解开发-javaConfig开发

菜菜的博客 254

Spring的配置和JavaConfig配置类

指定Spring扫描com.apesource包及其子包中的组件(比如使用了@Component、@Service、@Repository、@Controller注解的类),并将这些组件注册为Spring应用上下文中的Bean。就是将本来在xml中的bean引用一个类的实例换成在类上面的注解来完成一些配置文件的功能来减少配置文件的使用。,base-package用于指定要扫描的基础包,扫描这个包及其所有子包,寻找带有特定注解的类。:专门用于服务层的注解,实际上是@Component的一个特殊化形式。

weixin_71072718的博客 2598

Spring学习记录05——使用注解开发、JavaConfig

使用注解开发的要求 必须导入spring-aop包 只要导入spring-webmvc就会自带 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.8</version> </dependency> 配置文件中引入contex

wcy的博客 149
上一篇: SpringBoot 二次总结补充
下一篇: RESTful风格
小云很优秀
博客等级 码龄7年 94粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小云很优秀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值