SpringCloud系列(一)云原生应用
一、Bootstrap上下文
代码说明
import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** * Spring 事件/监听器 Demo * * @创建人 steffens * @创建时间 2019/6/24 * @描述 文件创建 */ public class SpringEventListenerDemo { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); //增加监听器 context.addApplicationListener( new MyApplicationListener() ); //上下文启动 context.refresh(); //发布事件 context.publishEvent( new MyApplicationEvent( "Hello World1~~")); context.publishEvent( new MyApplicationEvent( "Hello World2~~")); context.publishEvent( new MyApplicationEvent( "Hello World3~~")); } private static class MyApplicationListener implements ApplicationListener<MyApplicationEvent>{ @Override public void onApplicationEvent(MyApplicationEvent event) { System.out.printf("MyApplicationListener receive, event : %s ", event.getSource()); } } private static class MyApplicationEvent extends ApplicationEvent { /** * Create a new ApplicationEvent. * * @param source the object on which the event initially occurred (never {@code null}) */ public MyApplicationEvent(Object source) { super(source); } } }
二、 应用启动SpringApplication.run
例如args和程序参数
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringCloudLesson1Application { public static void main(String[] args) { SpringApplication.run(SpringCloudLesson1Application.class, args); } }
三、修改成非web程序,注意启动注解 ( AnnotationConfigApplicationContext )
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringCloudLesson1Application { public static void main(String[] args) { //SpringApplication.run(SpringCloudLesson1Application.class, args); //方式二 SpringApplication springApplication = new SpringApplication(SpringCloudLesson1Application.class); //修改成非web程序 springApplication.setWebEnvironment(false); springApplication.run(args); } }