• @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;
            
        }
    }
  • 相关阅读:
    反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
    火车售票系统(数据结构课设)
    货物管理系统(数据结构链式表)
    货物管理系统(数据结构顺序表)
    进制转换器(十进制转n进制)
    大学生成绩管理系统(C语言)
    如何对Linux的grub进行加密
    戴文的Linux内核专题:07内核配置(3)
    戴文的Linux内核专题:06配置内核(2)
    戴文的Linux内核专题:05配置内核(1)
  • 原文地址:https://www.cnblogs.com/lm970585581/p/13066066.html
Copyright © 2020-2023  润新知