2. Spring4.1-Java Config

java框架篇spring cloud之spring config server 1.前言 什么是spring cloud? Spring cloud为用户提供了一整套快速开发分布式应用的解决方案,包括配置管理,服务发现,断路开关,智能路由,微代理,控制总线,一次token,全局锁,leader选举,分布式session,集群状态等功能。spring boot作为spring cloud等基础应用,可以快速搭建一个微服务。 2.功能点 Distributed/versi... 阅读详情

2.1 java config

  • spring的java config主要使用@Configuration和@Bean两个注解;
    • 使用@Configuration注解在类上声明是一个配置类(相当于一个spring的配置xml);
    • 使用@Bean注解在方法上,返回值是一个类的实例,并声明这个返回值是spring的一个bean,bean的name是方法名;

2.2 关于@Bean和@Component,@Service,@Repository,@Controller

  • @Component,@Service,@Repository,@Controller注解在一个类上之后,这个类也成为spring容器中的bean,使用@Bean注解也是,感觉使用@Bean注解是不是更麻烦呢?

  • 既然效果是等同的,那什么时候使用@Bean什么时候使用@Component,@Service,@Repository,@Controller系列呢?

  • 这个原则就和我们当初混用xml配置和@Component,@Service,@Repository,@Controller时候一样:系统的全局配置(数据库配置,spring mvc配置,spring security配置等)使用java config(xml),业务相关的bean使用@Component,@Service,@Repository,@Controller系列。

  • 在后面我们讲到一些全局配置的时候我们就会使用Spring的java config

2.3 演示

2.3.1 创建一个properties(test.properties)文件作为配置

wisely.word = World

2.3.2 创建一个java class

package com.wisely.javaconfig;

public class DemoService {
    private String word;

    public String getWord() {
        return word;
    }

    public void setWord(String word) {
        this.word = word;
    }

    public String sayHello(){
        return "Hello "+this.word;
    }

}

2.3.3 创建java config配置类

package com.wisely.javaconfig;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;

@Configuration //声明是一个配置类
@PropertySource("com/wisely/javaconfig/test.properties")
public class DemoConfig {

    @Bean //声明是一个bean
    public DemoService demoBean(Environment environment){
        DemoService demoService = new DemoService();
        demoService.setWord(environment.getProperty("wisely.word"));
        return demoService;
    }
}

2.3.4 测试-初始化spring容器

package com.wisely.javaconfig;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class Main {

    public static void main(String[] args) {
        //设定此包下的类被注册成spring的bean,
        //包含@Configuration,@Component,@Service,@Repository,@Controller
        AnnotationConfigApplicationContext context =
                            new AnnotationConfigApplicationContext("com.wisely.javaconfig");
        DemoService demoService = context.getBean(DemoService.class);
        System.out.println(demoService.sayHello());
        context.close();
    }

}

输出结果:Hello World

Spring Boot 2.4+ 统一使用 application.yml 配置 Nacos Config 的完整指南 在微服务架构中,配置管理是核心基础能力,旨在解决传统配置方式带来的发布效率低、易出错等问题。其核心原理是将配置与应用解耦,实现集中管理和动态刷新,从而提升系统的可维护性和灵活性。Nacos 作为集服务发现与配置管理于一体的平台,其技术价值在于提供了高可用、动态实时的配置服务。在 Spring Cloud 应用实践中,配置中心客户端如何连接与加载配置是关键。随着 Spring Cloud 2020.0.0 版本对引导上下文机制的调整,新的 `spring.config.import` 属性成为标准配置导入方式 阅读详情

相关推荐

Google 人机验证(reCaptcha)无法显示解决方案

Google 人机验证无法显示解决方案第一步 安装插件Chrome/Edge 电脑版Firefox 电脑版第二步 配置插件原理参考文章 前言:为了防止机器人攻击,国外很多网站都使用了 Google reCaptcha 验证码。reCaptcha 对于国外用户非常的友好,但是… 对于国内用户就不怎么友好了。究其原因,则是国内网络全线屏蔽 Google 服务,导致 reCaptcha 完全加载不出来。这样,国内玩家就无法在对应的网站进行下一步操作了。本方案可以解决 reCaptcha 无法加载的问题。 适用

qq_40713201的博客 8万+

Dependency ‘org.mybatis.spring.boot:mybatis-spring-boot-starter:‘ not found

Dependency ‘org.mybatis.spring.boot:mybatis-spring-boot-starter:’ not found 解决方法:加入版本号后,ctrl+alt+o下载依赖

weixin_37682172的博客 1万+

R语言灰色关联分析法

输入数据并用DT包的datatable函数展示数据 ABDDEF分别对应第1到第6个供应商产品质量、技术水平、供应能力、经济效益、交货情况、市场影响度指标属于效益型指 产品价格、地理位置、售后服务指标属于成本型指标。现分别对上述指标进行规范化: 对于效益型指标(正项指标)标准化公式为: x∗=x−min(x)max(x)−min(x) x^{\ast}=\frac{x-min\left( x \right)}{max\left( x \right) -min\left( x \right)} x∗=max

qq_54423921的博客 7996

spring boot 集成mybatis报错Missing artifact

1. pom文件中的oracle依赖提示Missing artifact,需要手动下载并导入maven参考 oracle依赖下载地址(ojdbc6.jar) cd到下载的ojdbc6.jar所在路径,执行命令 mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0....

weixin_30611509的博客 784

dify进阶:使用 FastAPI 的 StreamingResponse 实现高效的数据流传输

在 FastAPI 框架中,是一个非常有用的工具,它允许你以流的方式发送数据给客户端,而不是一次性加载所有内容到内存中再发送。这对于处理大型文件下载、视频流或者任何需要长时间处理的任务特别有用。

xiezhipu的博客 1433

【华为OD机试真题】3、 路灯照明问题 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。 每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。

KJ.JK 1万+

springboot+ mybatis项目搭建错误大全

Cannot instantiate interface org.springframework.context.ApplicationContextInitializer : org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer 原因 配置pom.xml 把其他的删干净 如 spring 项目中有两个boot的版本,一个高版本一个低版本,导致冲突. 解决方法 查看自己项目中导入的依赖里,是

qq_43886548的博客 6130

ArcGIS Pro 3.4 二次开发 - 布局

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下操作布局工程项的相关方法。主要内容包括:引用布局工程项和关联布局,在新视图中打开或激活已有布局视图,引用活动布局视图,导入/移除布局工程项,创建基本布局或带参考线的自定义布局,修改布局页面尺寸,以及创建圆形图形元素等操作。重点演示了如何通过CIM(Core Infrastructure Model)进行高级布局配置,并详细说明了圆形图形元素的创建过程,包括几何构建、符号设置和图形生成。所有涉及UI线程的操作都遵循ArcGIS Pro SDK

Winemonk 795

spring boot(六):如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。 orm框架的本质是简化...

weixin_33910137的博客 2221

AMD KFD的SDMA Packet 类型和定义解析

本文详细分析了AMD GPU架构中的SDMA(System Direct Memory Access)数据传输机制,重点介绍了其核心数据结构——SDMA Packet。SDMA通过8种主要Packet类型(包括内存拷贝、数据写入、屏障同步、中断触发等)实现高效主机-设备通信。每种Packet采用位域结构和联合体封装设计,在保证功能完整性的同时实现空间优化。这些Packet支持丰富的访问属性和扩展字段,适用于高性能数据搬运、内存初始化、任务同步、性能分析等场景,为GPU计算提供了灵活高效的数据传输解决方案。

图形/计算GPU的驱动与虚拟化技术分享园地 1254

vue3:实现ECharts3D地图详细示例,echarts实现3D地图map3D,vue3如何利用echarts绘制3d地图立体城市省市地区分布,可视化数据大屏3D炫酷中国地图(复制源码,开箱即用)

echarts实现中国地图记录篇之3D地图,Echarts地图之——如何让地图显示出3d感,【3d地图】vue中使用echarts geo3D,echarts实现某个市3D地图展示,vue3中使用echarts实现中国地图,3D地图图表,echarts实现3D地图——map3D,数据大屏3d地图,vue3+echarts绘制中国地图,3D地图,省、市、县,【3d地图】vue3中使用echarts geo3D,echarts实现某个市3D地图展示,ECharts3D地图(详细示例——附有具体注释),echar

✅ 精选推荐文章 3670

mybatis-spring-boot-starter自动装配原理与源码分析

在springboot项目中使用mybatis只需要引入mybatis-spring-boot-starter即可使用,从源码的角度分析其自动装配原理

qq_38318330的博客 3776

【DaVinci Developer专题】-41-APP SWC如何读取写入NVM Block数据

APP SWC Port如何Read读取/Write写入NVM Block数据; DaVinci Developer中的Calibration Parameter/Per-Instance Memory/Service Need如何配置。

「汽车电子助手」的博客 4474

Spring4.1.5+Mybatis3.2.8基于java config整合实现(Maven)

喜欢用新版,不喜欢xml配置,所以就有了这个东西…除了Maven的pom.xml和Mybatis的mapper是xml的以外,没有xml配置。 所用到的东西:Eclipse JavaEE Luna Service Release 2 (4.4.2),内置Maven。Tomcat 7.0.54、JDK 7u71、Spring 4.1.5、Mybatis 3.2.8 步骤: 一、创建

edosnite的专栏 639

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Tools 4.6.1 是 Spring Tools Suite(STS)的继任者——Spring Tools for Eclipse(基于 Eclipse IDE)的一个维护版本

- 升级至 Eclipse 2020-03(4.15)平台,支持 Java 14; - 改进对 Spring Boot 2.3.x 的支持(包括新引入的 `spring-boot-starter-validation` 自动配置识别、新的 Actuator 端点等); - 修复多个与 Spring Boot Dashboard、Live Bean Graph、YAML 编辑器相关的 Bug; - 增强对 Spring Cloud Config、Spring Cloud Stream 的元数据支持; - 提升

[Blog][Domain] programb.blog.youkuaiyun.com 498

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Spring Tools 4.5.1 是 Spring Tools Suite(STS)的继任者——Spring Tools for Eclipse

✅ **4. Spring Boot 支持方式升级** - STS3:通过 `Spring Project Facet` 和 `Boot Dashboard` 视图提供有限生命周期控制(启动/停止),但调试、Actuator 集成较弱; - STS4:深度集成 Spring Boot DevTools、Actuator endpoints(自动发现 `/actuator/health`, `/actuator/env` 等)、实时配置刷新(LiveReload)、以及 `@Configuratio

[Blog][Domain] programb.blog.youkuaiyun.com 564

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spring Integration 2.1.4.RELEASE 和 2.2.0.RC2 是 Spring Integration 框架的历史版本

Releases Oleg Zhurakousky October 19, 2012 Dear Spring Community, Just to close off SpringOne2GX 2012 with the bang, I am pleased to announce the release of Spring Integration 2.1.4.RELEASE and Spring Integration 2.2.0.RC2! Resources for Spring Integration

[Blog][Domain] programb.blog.youkuaiyun.com 458

Spring Framework 2.1 升级到 Spring Framework 2.5 是一个重要的版本更新

虽然许多新的主要功能固有地需要Java 5或更高版本,但Spring 2.5还包括Java 1.4用户也可以使用的重要增强功能: bean名称切入点元素,jms配置名称空间,经过认证的WebSphere支持和JCA RAR部署选项。:注解直接写在代码中,使得代码的意图更加明确,增强了代码的可读性和自解释性。这些更新不仅提升了 Spring Framework 的功能性和灵活性,还大大改善了开发者的开发体验和应用的性能表现。等注解,可以方便地实现横切关注点的分离,从而提高代码的复用性和可维护性。

[Blog][Domain] programb.blog.youkuaiyun.com 451

《Spring Boot 4 与 Nacos 3.2.3 最强整合实战:配置管理 + 服务发现全解析》

本文介绍了如何基于SpringBoot 4.1.0(需JDK17+)与Nacos 3.2.3构建微服务系统。主要内容包括:1. 环境准备,强调必须开放Nacos的8848(HTTP)和9848(gRPC)端口;2. 项目初始化,提供父/子POM配置示例;3. 关键配置说明,特别是bootstrap.yml的加密参数配置;4. 主启动类实现服务注册发现功能。文章重点解决了新版Nacos的多端口机制、SpringBoot 4.x适配等常见问题,为开发者提供了一套完整的微服务搭建方案。

zsx8096的博客 204

spring boot redis session

1. pom.xml 这里 spring parent的版本 2.1.5会报错 2.1.0和2.1.4经过测试正常 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X...

weixin_33910434的博客 154

使用Axis1.4、Spring在tomcat环境下提供web service服务

使用Axis1.4、Spring在tomcat环境下提供web service服务 这个事情去年做过一次,不过没有留下记录,今天又要做一次,记录下来,呵呵 环境: Spring版本为1.2,Tomcat为5.5.26,JDK为Jdk1.5.0_11。 1、下载Axis1.4,解压后将其jar文件添加到web项目的lib目录中。 2、配置Axis Servlet,在web.xml文件中加入如下信息...

zznj1123的专栏 340

Spring自定义Bean创建与销毁方式的总结

1.注解方式 在 bean 初始化时会经历几个阶段,首先可以使用注解 @PostConstruct, @PreDestroy 来在 bean 的创建和销毁阶段进行调用: @Component public class AnnotationBean { private final static Logger LOGGER = LoggerFactory.getLogger(Annot...

luoyoub的博客 2167

SpringBoot 配置文件生效的优先级

在执行 java -jar 命令同级目录下的 config 文件夹是第三优先级。注意:如果 java -jar 命令不是在项目 jar 包 同级目录执行的话,在项目 jar 包同级目录下的 config 文件夹是不生效的。项目内部的 classpath 同级 config 文件夹是第六优先级,在 classpath 下建一个 config 文件夹,然后把配置文件放进去。项目 jar 包同级下直接放 properties 文件是第五优先级,直接把配置文件放到 jar 包的同级目录。

qq411139073的博客 898

java Web项目中常用的一些工具整理

WAS Tomcat 7.0 Web Server Nginx? Apache? JDK Java SE 7 IoC Container Spring Framework 3.1 Configuration Java Config with XML less Web Configuration(https://github.com/kolorobot/spring-mvc-quicks...

weixin_30388677的博客 207

2.2 、spring boot项目配置中心config config 、

1、创建springboot项目 (不过依赖应该选择的是config server)       2、pom文件如下 xml version="1.0" encoding="UTF-8"?> project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in

HealerJean梦想博客 1万+

Spring Boot 2.4 对多环境配置的支持更改

在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整。相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些变化。 多环境配置 2.4版本之前 先回顾下,2.4版本之前,我们在yaml配置文件中,使用spring.profiles来定义不同环境的标识,比如下面这样: spring: profiles: "dev" name: dev.didispace.com --- spring:

程序猿DD 1万+
上一篇: 1. Spring4.1-依赖注入
下一篇: 0. Spring4.1-环境搭建
广漂一枚
广漂一枚 新星创作者: 人工智能技术领域 新星创作者: 人工智能技术领域
博客等级 码龄15年 3546粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值