SpringBoot-@SpringBootConfiguration
@SpringBootConfiguration说明这是一个配置文件类,就像xml配置文件,而现在是用java配置文件。并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。例如,定义一个配置类:package com.lhkj.pluto.config;import java.util.HashMap;import java...
·
@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
更多推荐
已为社区贡献7条内容
所有评论(0)