• @SpringBootConfiguration注解


    @SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,
    并会将当前类内声明的一个或多个以@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;
    
    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;
            
        }
    }
  • 相关阅读:
    OpenCV教程(转自:浅墨_毛星云博客)
    基于聚类的“图像分割”(python)
    ubuntu同时装有MXNet和Caffe框架
    FCN用卷积层代替FC层原因(转)
    windows下安装TensorFlow(CPU版)
    python语法
    Deep Visualization:可视化并理解CNN(转)
    非局部均值(Nonlocal-Mean)
    转——深度学习之BN算法(Batch Normailization)
    数组和循环的应用
  • 原文地址:https://www.cnblogs.com/lm970585581/p/13066066.html
Copyright © 2020-2023  润新知