zoukankan      html  css  js  c++  java
  • @Configuration结合@Bean实现对象的配置

    @Configuration结合@Bean实现对象的配置


    前提:最近项目中需要做支付接口,支付宝以及微信支付,本文并不介绍如何写支付接口,而是通过这个示例讲解配置应该怎么写,项目中使用的是Kotlin语言

    众所周知:Spring中的注解分为两种:注册类使用类,且Spring默认是单例模式,记住这两点很重要。

    (1)注册类包括:Controller、Service、Repository、Configuration、Component、Bean等,这些注解告知了Spring容器这些Bean的种类,让他们各司其职。其中@Bean注解告知Spring容器:我现在要给你一个我已经配置好了的对象(即Bean),以后无论在哪使用这个Bean,都无需再进行配置了。-- 为什么会这样呢?是因为Spring的Bean默认是单例模式的,内存中只会存储一个这样的对象,熟悉JVM内存区域的都知道,对象均存储在堆内存中,一个对象分为:对象头、实例数据、对齐填充。其中实例数据就存放了对象中的内容数据,所以每次要用到相关对象时,Spring自动将已经注册且配置好的Bean给你使用。

    (2)使用类包括:@Resource、@AutoWired等,这两个注解主要将依赖注入到Bean当中,使用时无需使用new关键字。

    在Spring整个项目的运行过程中,是通过一个个的Bean互相协调工作的,特别是当你使用第三方组件的时候(比如redis),使用SpringBoot的注解(@Configuration)可以轻松实现Java语言进行配置,不用再写繁琐的Xml文件,这里只介绍使用注解方式进行配置

    SpringBoot的配置可以分为两类 :运行配置第三方组件配置

    这两个配置会将某些配置暴露出来给程序员在配置文件中配置,比如在yml文件中配置端口号,或者当集成了Hibernate等组件时,会让你配置数据源等。比如下图:

    红色方框是你集成SpringBoot的某个组件后,SpringBoot将这些组件的配置暴露出来让你填的。同样,可以看到可以看到图中的redis,这里SpringBoot没有将他们暴露出来,所以我们需要自己去配置:


    接下来,展示如何配置支付接口的信息

    这里我用了zookeeper作配置中心,另一篇博文会有介绍,但不妨碍我讲实现方法

    首先将配置文件中的信息使用@Value注入到字段中,这里因为使用的是zookeeper,所以只在配置文件中配置了zookeeper的相关信息。

    然后通过@Bean注解,告知Spring容器,我会返回给你一个对象这个对象是我已经配置好了的对象,以后使用的时候就不用再配置了。

    这里是使用这个Bean的地方,通过@Resource注入依赖

  • 相关阅读:
    window.open打开页面及页面大小设置
    java--->Stack的使用
    java简单实现直接运算表达式
    idea--->tomcat控制台乱码
    多线程--->线程的几种基本实现
    java--->读取wsdl方法(二)
    java--->wsdl的简单使用(spring+cxf)
    ActiveMQ(学习1)
    基本类型和包装类型的区别
    弄懂JDK、JRE和JVM到底是什么
  • 原文地址:https://www.cnblogs.com/tian874540961/p/11958365.html
Copyright © 2011-2022 走看看