SpringBoot-@SpringBootConfiguration_springboot@@springbootconfiguration-程序员宅基地

技术标签: 秒扒Spring  spring/hibernate/mybatis  

@SpringBootConfiguration说明这是一个配置文件类,就像xml配置文件,而现在是用java配置文件。并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。

例如,定义一个配置类:

package com.lhkj.pluto.config;

import java.util.HashMap;
import java.util.Map;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;

@SpringBootConfiguration
public class Config {
    @Bean
    public Map createMap(){
        Map map = new HashMap();
        map.put("username","gxz");
        map.put("age",27);
        return map;
    }
}

在main方法中,可以直接这样使用:

package com.lhkj.pluto.config;

import java.util.HashMap;
import java.util.Map;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;

@SpringBootConfiguration
public class Config {
    @Bean
    public Map createMap(){
        Map map = new HashMap();
        map.put("username","gxz");
        map.put("age",27);
        return map;
    }
}
在main方法中,可以直接这样使用:

package com.lhkj.pluto;

import java.util.Map;
import java.util.concurrent.TimeUnit;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.lhkj.pluto.user.entity.User;



/*
 * 发现@SpringBootApplication是一个复合注解,
 * 包括@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration
 * 
 */

@RestController
@SpringBootApplication
public class App 
{   
    
    @RequestMapping(value="/hello")
    public String Hello(){
        return "hello";
    }
    
    
    @Bean
    public Runnable createRunnable() {
        return () -> System.out.println("spring boot is running");
    }

    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
        context.getBean(Runnable.class).run();
        System.out.println(context.getBean(User.class));
        Map map = (Map) context.getBean("createMap");   //注意这里直接获取到这个方法bean
        int age = (int) map.get("age");
        System.out.println("age=="+age);
    }
    
    
    @Bean
    public EmbeddedServletContainerFactory servletFactory(){
        TomcatEmbeddedServletContainerFactory tomcatFactory = 
                new TomcatEmbeddedServletContainerFactory();
        //tomcatFactory.setPort(8011);
        tomcatFactory.setSessionTimeout(10,TimeUnit.SECONDS);
        return tomcatFactory;
        
    }
}Map map = (Map) context.getBean("createMap");   //注意这里直接获取到这个方法bean
        int age = (int) map.get("age");
        System.out.println("age=="+age);
    }
    
    
    @Bean
    public EmbeddedServletContainerFactory servletFactory(){
        TomcatEmbeddedServletContainerFactory tomcatFactory = 
                new TomcatEmbeddedServletContainerFactory();
        //tomcatFactory.setPort(8011);
        tomcatFactory.setSessionTimeout(10,TimeUnit.SECONDS);
        return tomcatFactory;
        
    }
}

最后欢迎大家访问我的个人网站:1024s​​​​​​​

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CHS007chs/article/details/80252354

智能推荐

微软认证考试介绍-程序员宅基地

文章浏览阅读483次。微软资格认证考试是由全球软件业的龙头--美国微软公司(Microsoft)主持的,对计算机技术工作者使用微软公司软件产品的能力、水平的一种测试。考试前由微软公司设在各地的微软认证高级技术教育中心(CTEC)对学员进行培训,以提高技术人员以及微软公司的用户在软件开发和应用等领域的技术水平,引导学员掌握微软应用软件的关键技术,同时提高他们的软件开发和使用能力。经过微软授权培训,并且通过了微软资格认证考..._微软认证考试

hive执行结果moveTask操作失败-程序员宅基地

文章浏览阅读2.1k次。hive执行结果moveTask操作失败Apache Hive 2.1.0 ,在执行"INSERT OVERWRITE TABLE ...... select "或者 "insert overwrite directory /tmp/data/hive-test "操作,如果生成的结果文件是多个时,执行结果文件moveTask操作会失败。最新的Apache Hive 2.1.1版本同样有该问题..._hive.ql.exec.movetask

bootstrap-fileinput 多文件上传 : 提交form时获取到所有当前上传的文件(特别指出,支持删除及多次提交)_bootstrap-fileinput上传以后再次选择-程序员宅基地

文章浏览阅读6.6k次,点赞3次,收藏8次。bootstrap-fileinput 多文件上传,网上搜了两天了,都没有提交表单时获取控件所有在列文件的例子。好吧,可能大家都是上传时后台操作数据的,或者控件自带了某些功能,但我不知道也不会用,所以只能用笨方法自己折腾了。大概说下吧,业务流程是,前端使用bootstrap-fileinput控件上传多个文件到服务器,服务器返回上传后数据(文件名或文件路径),提交表单时收集这些上传返回数..._bootstrap-fileinput上传以后再次选择

深度学习与神经网络(十二)—— GAN生成对抗网络 & DCGAN & WGAN(JS divergence & EM/Wassertein Distance & Gradient Penalty)_wcdgan模型-程序员宅基地

文章浏览阅读1.5k次。GAN是现在deep learning最火热的方向学到了x的分布画家的成长历程根据画家怎样练习、成长,画出一幅好的作品来学习怎样用神经网络来逼近一幅优秀的作品pr的r是realpg是你脑中x的分布..._wcdgan模型

Android与H5互调使用cordova的WebView,插件调用,插件编写-程序员宅基地

文章浏览阅读1.1w次,点赞4次,收藏4次。Android WebViews 在大型原生Android工程中嵌入一个含有cordova的WebView(制作混合应用,原生页面+H5页面)

拨号之 PPP NDIS RNDIS CDC ECM NCM QMI-WWAN GOBINET RMNET MBIM 区别_ppp和ecm拨号的区别-程序员宅基地

文章浏览阅读6.4k次,点赞12次,收藏45次。如果做3、4、5G的上网,常常会遇到上述几个名词,他们都跟拨号联网相关,总是弄得人云里雾里,这些概念到底是什么意思,或者有啥区别呢?这里结合网上资料,基于个人理解,再次整理,如有错误之处,欢迎指正。PPP 用于建立点对点链路。最初是用于慢速设备的,比如早期通过串行线上网。通过一套协议,维护硬件链路上的数据连接,并具备安全和认证特性,可建立计费模式。我们在PPP拨号脚本中也常常可以看到波特率、用户名、密码、认证方式等参数。现在的猫或者家用路由拨号上网,多用PPPoE,也用到了PPP,因为PPPoE就_ppp和ecm拨号的区别

随便推点

Dockerfile执行命令报错"The command '/bin/sh -c apt-get install -y git' returned a non-zero code: 100"解决-程序员宅基地

文章浏览阅读3.8w次,点赞12次,收藏19次。Dockerfile文件中编辑如下内容:# An example Dockerfile for installing Git on UbuntuFrom ubuntuMAINTAINER "urmsone"RUN apt-get install -y gitENTRYPOINT ["git"]执行 docker build -t test .命令后报错,The command '/b..._returned a non-zero code: 100

小程序数据请求后端接口,渲染到页面步骤_小程序如何发送请求到php后端,渲染到前端-程序员宅基地

文章浏览阅读5.3k次,点赞8次,收藏37次。一:新建一个项目填写自己申请过得小程序的appid,勾选不使用云服务。二:准备一个免费的接口这种免费的接口网上有很多,但是基本都不太稳定,过了一段时间都没有办法技术使用,基本都会挂,所以啊,一定要选择官方文档里面给的接口,我这里找的是uniapp框架里面的某一个接口,应该能撑几年。https://unidemo.dcloud.net.cn/api/news三:开始写js代码思路1:首先写请求,我们都知道小程序的请求就是使用wx.request这个方法的,官方文档指路:https://de_小程序如何发送请求到php后端,渲染到前端

即将面临5G的大范围应用,带你揭秘5G的神秘面纱_4g终端服务器-程序员宅基地

文章浏览阅读729次。即将面临5G的大范围应用,带你揭秘5G的神秘面纱首先,我们要了解移动通信的发展历程,经历了几个阶段。移动通信历程:语音到数据、低带宽到高带宽。对于通信历程的简单了解,我们需要知道5G的技术指标以及应用场景,更好的掌握未来所涉及的地方。对于SDN与NFV的区别最后,我们需要面临5G的哪些挑战,以便于我们将来更好地进入这个行业。总结本章■移动通信历程:语音到数据、..._4g终端服务器

虚拟机无故关机或崩溃的日志搜集_esxi死机日志-程序员宅基地

文章浏览阅读3.8k次。简而言之:1.挂起崩溃的虚机;2.收集此时vmss和vmem文件。3.上传或转储vmss文件。方可容易定位原因所在1.第一时间不要重启虚机,先挂起虚拟机,然后在存储找到vmss或vmsd内存文件--这对收集vmkernel或状态等有作用https://kb.vmware.com/s/article/2005831【在ESX / ESXi上挂起虚拟机以收集诊断信息】2.利用vmss2core将vmss文件转储,以便厂家或其他用户分析当时故障情况https://kb.vmware.com.._esxi死机日志

机器学习基础 - [第五章:神经网络学习](3)模型表示_机器学习 g(z^(3))-程序员宅基地

文章浏览阅读141次。1、前向传播:向量化实现上一篇文章,我们提到了神经网络种的一些约定表示,我们还可以进一步利用一些符号简化表示:比如,将连接第2层的第1个单元的线性加权和Θ10(1)x0+Θ11(1)x1+Θ12(1)x2\Theta_{10}^{(1)}x_{0}+\Theta_{11}^{(1)}x_{1}+\Theta_{12}^{(1)}x_{2}Θ10(1)​x0​+Θ11(1)​x1​+Θ12(1)..._机器学习 g(z^(3))

macOS下给VScode安装Golang插件_mac vscode golang 插件-程序员宅基地

文章浏览阅读2.9k次。macOS下给VScode安装Golang插件最近学习Golang,IDE选择了VScode,主要原因是VScode轻巧还有丰富的各种插件。但是在配置好环境之后,vscode提示我安装插件,却一直安装失败,在折腾了好久之后终于算是安装成功了,所以记录一下。这里不讲具体的Golang和VScode的具体安装过程,需要的可以百度其他博客的讲解。这里直接讲解如何安装其他插件。切换到GOPATH路径..._mac vscode golang 插件

推荐文章

热门文章

相关标签