Spring注解(环境)

单细胞测序数据整合 基于Seurat 联合harmony进行单细胞数据整合分析 阅读详情

Spring注解(环境)

以数据库为例:

 引入 c3p0数据源maven坐标

 数据库驱动

 

@Configuration
@PropertySource("classpath:/db.config.properties")
public class ProfileConfig implements EmbeddedValueResolverAware {
   //方法一
    @Value("${db.user}")
    private String user;
  
    //方法三 通过值解析器  
    private StringValueResolver valueResolver;
    
    private String driverClass;
    
    @Profile("test")
    @Bean(name="testDataSource")                                            //方法二
    public ComboPooledDataSource dataSourceTest(@Value("${db.password}") String pwd) throws Exception{
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setUser("root");
        dataSource.setPassword(pwd);
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
        dataSource.setDriverClass(driverClass);
        return dataSource;
    }
@Profile("dev")
@Bean(name="devDataSource") public ComboPooledDataSource dataSourceDev() throws Exception{ ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setUser(user); dataSource.setPassword("root"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/dev"); dataSource.setDriverClass(driverClass); return dataSource; } //重写方法 public void setEmbeddedValueResolver(StringValueResolver resolver) { this.valueResolver = resolver; driverClass = valueResolver.resolveStringValue("${db.driverClass}"); } } 

 

这样就可以将数据源注册到容器中了

 

如何激活呢? 通过@Profile !

  指定组件在哪个环境的情况下 才能被注册到容器中,不指定任何环境下都能注册。

  只有当激活的bean 才能被注册进来

 加了环境表示@Profile 的bean  只有当环境被激活的 才可以注册到容器  默认是default

激活方式:

使用参数方式激活

使用idea的界面激活

通过代码的方式激活:

public class test {
    @Test 
    public void test01(){  
        //使用无参构造器  创建applicationContext  (详情自己研究下有参构造器的方法)
        AnnotationConfigApplicationContext applicationContext  =new AnnotationConfigApplicationContext();
       //设置需要激活的环境
        applicationContext.getEnvironment().setActiveProfiles("dev","test"); //可以设置多个
       //注册主配置类
        applicationContext.register(Profile.class);    
       //启动刷新容器
       applicationContext.refresh();
      }  
} 

 

@Profile 还可以标注在类上: 写在配置类上,只有是指定的环境的时候,整个配置类里面的所有配置才能生效

没有标注@Profile的ben, 在任何环境下都是加载的

 

 

IOC小结:

  

 

 

 

posted @ 2019-04-07 16:06 toov5 阅读(...) 评论(...) 编辑 收藏

机器学习第四个算法ANN(人工神经网络) 我是在14年9月刚读研的时候听到一个说法叫“类人脑算法”很火热,之后搞了很长一段时间相关的蓄水池算法等,但大都没有摸到门路而中途放弃了。现今看来,还是缺少一些知识背景,也不善于在网络上学习,随时间推移,也逐渐明白这是机器学习的一小部分,并且逐渐发展的名称叫做人工神经网络的算法,如果网络层较多,又会有个别名,叫做深度学习。其中个用到的最著名的算法是背向传输算法(backpropagation),而这个 阅读详情

相关推荐

[Ethernet in CANoe]4--CANoe工程中SOME/IP报文的详细介绍(二)

介绍了SOME/IP报文的SD报文(ServiceDiscovery),本片文章开始继续介绍SOME/IP报文。

汽车ECU自动化测试 1113

Spring环境、注解及配置文件

Spring------Spring Framework 两大核心 主要核心 IOC(控制反转)和 AOP(面向切面编程) Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。 IOC(控制反转) 控制反转:创建对象的权力从程序员的手中交给了Spring 硬编码,耦合度相当高 UserService---->new UserDaoImpl1 ResultService---->new UserDaoImpl1 工厂:根据需要返回不同的实例对象 Sp

六月Bing的博客 278

数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015

想必大家都遇到过数字大小超过int类型范围的情况,是不是碰到int放不下的数字自然就会想到,long int,long long int,甚至unsigned long long int呢。但是有一些出题者就很可恶,偏要出一些连unsigned long long int也放不下的算法题,应对这些问题时,我们是否有相应的应对方法呢?答案是:当然有,高精度就是一种应对这种问题时很好的解决办法。相信你在看完这篇文章后能对高精度有着更深更好的理解。我会循序渐进的来讲,这样大家也更容易听懂。

2303_79329831的博客 1229

Spring注解大全(史上最全,字母编号,有实例)

目录 A @Accessors 链式编程使用。需要搭配@Getter和@Setter使用。主要有三个参数: 序号 参数名 介绍 1 chain 链式 2 fluent 流式(若无显示指定chain的值,也会把chain设置为true) 3 prefix 生成指定前缀的属性的getter与setter方法,并且生成的getter与setter方法时会去除前缀 我们发现prefix可以在生成get/set的时候,去掉xxx等prefix前缀,达到很好的一致性。但是,

qq_46138160的博客 9916

用V E S C 6-M K V I 第六代调速控制器给VESC电调刷固件

文章摘要:本文介绍了一款先进的电机控制器,具备多项创新技术。核心亮点包括三相电流/电压检测、四象限无缝运行、多模式兼容等先进电机控制技术,以及智能感知与安全保护、高效能电源管理、多样化连接与扩展功能。此外,该控制器支持实时数据监测与用户交互,具备开源生态和工业级可靠性,适用于电动载具、机器人及工业领域。用户需注意散热要求和兼容性提示,可通过VESC-Tool软件进行灵活配置。产品可在常竹科技淘宝店购买,并加入技术交流群获取支持。

2403_89422757的博客 1364

无人机机场自动化巡检钢铁厂管廊技术方案

摘要:针对钢厂管廊人工巡检效率低、成本高等问题,提出5G+无人机自主巡检解决方案。该系统由智能机库、5G无人机、AI分析平台等组成,可实现自动起降、实时数据传输、缺陷智能识别等功能。无人机配备四合一云台相机,支持42分钟续航和复杂环境飞行,通过深度学习算法自动生成巡检报告。方案实施后可提升巡检效率3倍以上,降低人工成本和安全风险,实现全天候自动化巡检,为钢厂管廊安全管理提供智能化技术支持。(149字)

gxdhlg的专栏 1685

Spring(学习笔记)-条件注解@Profile深入理解!

条件注解,多环境切换

TONGZHOUGONGDU的博客 576

Vitis Model Composer闪退?手把手教你用命令行启动Vivado 2021后的System Generator

本文详细解析了Vitis Model Composer闪退问题的根本原因,并提供了命令行启动Vivado 2021后System Generator的完整解决方案。从环境变量配置、组件缺失排查到权限问题处理,手把手教你通过命令行深度排错,并分享高级自动化脚本和系统优化技巧,帮助开发者高效使用Vitis Model Composer与System Generator进行HDL开发。

weixin_26905487的博客 348

Spring:@Profile 注解用法介绍

本文将深入探讨Spring中的@Profile注解,展示它在不同环境配置和动态选择不同bean实例方面的使用方法。我们会通过简单的示例来讲解如何通过@Profile注解配置不同的数据源,并且展示如何在开发环境、测试环境和生产环境中动态选择不同的数据源。@Profile 注解:Spring 中的@Profile注解帮助我们在不同的环境下配置不同的bean,例如在开发环境、测试环境和生产环境中使用不同的数据源。激活环境:可以通过 JVM 参数、代码配置或属性文件来激活特定的环境。环境选择:通过。

流楚丶格念的博客 2044

Linux内存压力测试工具【memtester】详且精

对Linux下的压力测试工具memtester有一个比较人性化的概述,以及避坑心得。

weixin_44118923的博客 1万+

【open judge】【程设】魔兽世界三开战!

#程设 魔兽世界三---开战!--------原以为会很容易ac,没想到写了好久,看来自己的水平还是亟待提高啊!有几个比较有趣的点:1. typeid(#include<typeinfo>)还是比较好用的,特别是本题当战士为wolf,iceman, dragon, ninja时有特殊技能,那么用typeid判断一下就很方便了。2. 对于这种输出很复杂的问题,往往通过使用文件的输入输出再...

weixin_40841416的博客 6073

SpringBoot 通过@Profile注解配置多环境

⏹SpringBoot 通过@Profile注解配置多环境

菜鸟记录 2580

手把手教你学Simulink--基于Simulink的移相全桥DC-DC变换器仿真建模

特点高效性:通过实现零电压开关(ZVS)减少开关损耗。电气隔离:使用变压器提供输入输出间的电气隔离。适用于中高功率应用:如服务器电源、工业电源等。挑战控制复杂度:精确控制相位差以实现软开关。元件选择:合适的电感、电容值对于性能至关重要。动态响应:快速响应负载变化,保持稳定的输出电压。首先明确要模拟的任务内容。设计一个能够支持特定输入输出电压比的PSFB变换器。根据工作频率和谐振元件值确定合适的电路参数。实现有效的控制策略来维持输出电压稳定,并实现软开关。

MHD0815的博客 520

Spring条件注解以及环境切换问题

我先简单的说一下为什么我要将这两个知识点放一起:因为他们都涉及到了jvm参数问题。 一、条件注解的实现方法@Conditional 如下的IOC容器:由于@Bean注解后没有加东西,所以下面的两个bean的id都为car,究竟得到哪个bean就取决于@Conditional注解括号里的东西! @Configuration public class MyConfig { @Bean @Conditional(OilCarCondition.class) public Car oilCa

JAVA领域优秀创作者 520

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

注解方式搭建spring开发环境

写在前面:通过前两篇文章,已经学习了如何通过配置文件搭建spring开发环境,本篇文章将演示如何通过注解方式搭建spring开发环境。 开发步骤: 1)下载源码,准备jar包(这里用的是spring3.2.5版本)    commons-logging-1.1.3.jar                      日志    spring-beans-3.2.5.RELEASE.jar  ...

ah3629的博客 353

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spring基于注解的DI之环境搭建

Spring基于注解的DI之环境搭建对于DI使用注解,将不再需要在Spring配置文件中声明Bean实例。 Spring中使用注解,需要在原有Spring运行环境基础之上再做一些改变,这是基本环境的搭建步骤完成以下三个步骤一、导入AOP的Jar包。因为注解的后台实现用到了AOP编程spring-aop-4.2.1.RELEASE.jar二、更换配置文件头,即添加相应的约束<?xml version

浪丶荡 644

Spring注解驱动开发——Profile环境切换

Profile:Spring提供的可以根据当前环境(开发、测试、生产),动态的激活和切换一系列的组件的功能,可以使用@Profile注解实现,比如数据源根据环境的切换。@Profile注解用于指定组件在哪个环境下会注册到IOC容器中,若不加该注解则在所有环境下都会注册到容器中: @PropertySource("classpath:/config.properties") @Configura...

如不來的博客 447

spring基于注解的IOC环境搭建配置以及案例

1.环境搭建,在bean.xml导入约束,可在官网获取,pom.xml导入坐标 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta...

Hello_MAOSONG的博客 354

spring注解开发——@Profile根据环境动态注册组件

根据环境动态激活组件☞@Profile 我们一般会有这样的需求,开发环境用的数据源与生产环境不一样,也就是dev环境我们想要使用dev的DataSource,生产的我们使用生产的DataSource,此时我们就要用到@Profile注解。 我们看下面的案例:配置文件有三个bean,我们想在不同环境只激活其中的一个 @Configuration public class ProfileAnnotat...

IT小小鸟 314

如何查看注解实现_Spring @Profile是怎么实现按环境加载的

很多时候,我们希望某些功能在特定的环境开启,例如:假设项目中使用了swagger-ui,一般只会在开发环境提供,让前后端可以通过swagger文档,快速了解接口等协议,减少不必要的沟通;而生产环境必然是不能有此类功能的,因此需要关闭生产环境的swagger配置。在spring项目中,可以通过spring提供的@Profile注解进行操作。如下,通过@Profile注解实现不同环境加载不同的bean...

weixin_39889337的博客 723

要使用 @Transactional 等 Spring 注解,必须有一个 Spring 容器环境,而 Spring Boot 启动类要使用 @Transactional 等 Spring 注解

Spring Boot启动类不是可选的,而是Spring Boot应用的核心基础。它简化了传统Spring应用中复杂的XML配置。提供了开箱即用的强大功能,包括:事务管理依赖注入AOP支持自动配置没有启动类(或等效的容器初始化机制),所有Spring注解都将无效。坚持使用Spring Boot启动类是确保Spring特性正常工作的必要前提,也是现代Spring应用开发的标准实践。

你是人间四月天 1035

【Spring注解系列14】@Profile进行环境切换

1.@Profile Profile: Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能; 开发环境、测试环境、生产环境; 数据源:(/A)(/B)(/C); @Profile:指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件 1)、加了环境标识的bean,只有这个环境被激活的时候才能注册到容器中。默认是default环...

Java仗剑走天涯 3254

搭建Spring开发环境+Spring常用注解介绍+SpringMVC请求流程!

Spring开发团队为开发者定义了很多注解,这些注解代表Spring的配置,在项目开发过程中可以根据实际需求进行配置。如表1.2所示为Spring常用注解配置。下面介绍Spring业务开发中常用的注解,它们用来注入业务类或标记业务方法,如表1.3所示。

IT_1024的博客 911

Spring @Profile注解详解:环境隔离与条件装配

在Spring框架中,环境隔离是微服务架构和云原生应用的关键需求。通过条件装配机制,开发者可以实现不同环境下组件的差异化加载。@Profile作为Spring核心注解,采用声明式编程模型,基于当前激活的环境变量(profiles)自动控制Bean的创建过程。这种技术方案有效解决了传统if-else环境判断导致的代码臃肿问题,在日志配置、数据源切换、API文档管理等场景具有重要工程价值。结合Spring Boot的application-{profile}.properties配置体系,开发者可以轻松实现开发

weixin_34337381的博客 529

Spring注解驱动开发三切换环境Profile

@Profile注解 Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能。指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件。 接口类如下: 看一下Javadoc,什么都明白了。 /** * Indicates that a component is eligible for registration when one or mo......

小小默:进无止境 1278

Spring注解驱动开发学习总结10:根据环境注册 @Profile注解

Spring注解驱动开发学习总结10:根据环境注册 @Profile注解1、根据环境注册@Profile注解1.1 构建Product类1.2 构建配置类1.3 测试一(动态参数开启生产环境)1.4 测试二(代码方式开启测试环境) 1、根据环境注册@Profile注解 @Profile注解可以指定组件在哪个环境下才能注入容器。 比如配置文件有开发环境、测试环境、生产环境,生产发布的时候必须要使用生产环境的配置。 1.1 加了环境标识的bean,只有这个环境被激活的时候才能注入容器。默认是default环境,

xueping_wu的博客 697

Spring注解驱动之@Profile注解实现开发、测试和生产环境的配置与切换

springboot配置文件切换

抽象的螺旋 1144
上一篇: Spring注解(赋值相关)
下一篇: Spring注解(AOP)
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值