WebServerInitializedEvent &ApplicationRunner
发布时间:2020-12-15 07:21:06 所属栏目:Java 来源:网络整理
导读:application.properties app.name= yaoyuan2app.dept.id =1 MyConfig.java import lombok.AllArgsConstructor; import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; impo
application.properties app.name=yaoyuan2
app.dept.id=1
MyConfig.java import lombok.AllArgsConstructor; import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MyConfig { @Value("${app.name}") public String name; @Value("${app.dept.id}") public String id; @Bean public Dept getDept() { return new Dept(id); } @Bean public User getUser() { return new User(name,getDept()); } } @Data @AllArgsConstructor class User { private String name; private Dept dept; } @Data @AllArgsConstructor class Dept { private String id; } ? 初始化: @EventListener(WebServerInitializedEvent.class) public void onWebServerReady(WebServerInitializedEvent event) { System.out.println("1.当前WebServer实现类为:"+event.getWebServer().getClass().getName()); Object obj = event.getApplicationContext().getBean(User.class); System.out.println("获取user对象:"+obj); } /** * 在spring boot应用启动后回调 * @param context * @return */ @Bean public ApplicationRunner runner(WebServerApplicationContext context) { return args -> { System.out.println("2.当前WebServer实现类为:"+context.getWebServer().getClass().getName()); Object obj = context.getBean(User.class); System.out.println("获取user对象:"+obj); }; } 输出: 2019-10-19 19:33:11.130 INFO 2312 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8080 1.当前WebServer实现类为:org.springframework.boot.web.embedded.netty.NettyWebServer 获取user对象:User(name=yaoyuan2,dept=Dept(id=1)) 2019-10-19 19:33:11.135 INFO 2312 --- [ main] c.e.s.App : Started App in 4.57 seconds (JVM running for 5.33) 2.当前WebServer实现类为:org.springframework.boot.web.embedded.netty.NettyWebServer 获取user对象:User(name=yaoyuan2,dept=Dept(id=1)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |