当前位置: 首页 > news >正文

用什么软件做网站设计/天津seo公司

用什么软件做网站设计,天津seo公司,网站备案会掉吗,淮安做网站的有多少钱最新需要在项目启动后立即执行某个方法,然后特此记录下找到的四种方式 注解PostConstruct 使用注解PostConstruct是最常见的一种方式,存在的问题是如果执行的方法耗时过长,会导致项目在方法执行期间无法提供服务。 Component public class…

最新需要在项目启动后立即执行某个方法,然后特此记录下找到的四种方式

注解@PostConstruct

使用注解@PostConstruct是最常见的一种方式,存在的问题是如果执行的方法耗时过长,会导致项目在方法执行期间无法提供服务。

@Component
public class StartInit {
//
//    @Autowired   可以注入bean
//    ISysUserService userService;@PostConstructpublic void init() throws InterruptedException {Thread.sleep(10*1000);//这里如果方法执行过长会导致项目一直无法提供服务System.out.println(123456);}
}

CommandLineRunner接口

实现CommandLineRunner接口 然后在run方法里面调用需要调用的方法即可,好处是方法执行时,项目已经初始化完毕,是可以正常提供服务的。

同时该方法也可以接受参数,可以根据项目启动时: java -jar demo.jar arg1 arg2 arg3 传入的参数进行一些处理。详见: Spring boot CommandLineRunner启动任务传参

@Component
public class CommandLineRunnerImpl implements CommandLineRunner {@Overridepublic void run(String... args) throws Exception {System.out.println(Arrays.toString(args));}
}

实现ApplicationRunner接口

实现ApplicationRunner接口和实现CommandLineRunner接口基本是一样的。

唯一的不同是启动时传参的格式,CommandLineRunner对于参数格式没有任何限制,ApplicationRunner接口参数格式必须是:–key=value

@Component
public class ApplicationRunnerImpl implements ApplicationRunner {@Overridepublic void run(ApplicationArguments args) throws Exception {Set<String> optionNames = args.getOptionNames();for (String optionName : optionNames) {List<String> values = args.getOptionValues(optionName);System.out.println(values.toString());}}
}

实现ApplicationListener

实现接口ApplicationListener方式和实现ApplicationRunner,CommandLineRunner接口都不影响服务,都可以正常提供服务,注意监听的事件,通常是ApplicationStartedEvent 或者ApplicationReadyEvent,其他的事件可能无法注入bean。

@Component
public class ApplicationListenerImpl implements ApplicationListener<ApplicationStartedEvent> {@Overridepublic void onApplicationEvent(ApplicationStartedEvent event) {System.out.println("listener");}
}

四种方式的执行顺序

注解方式@PostConstruct 始终最先执行

如果监听的是ApplicationStartedEvent 事件,则一定会在CommandLineRunner和ApplicationRunner 之前执行。

如果监听的是ApplicationReadyEvent 事件,则一定会在CommandLineRunner和ApplicationRunner 之后执行。

CommandLineRunner和ApplicationRunner 默认是ApplicationRunner先执行,如果双方指定了@Order 则按照@Order的大小顺序执行,大的先执行。

http://www.jmfq.cn/news/4801573.html

相关文章:

  • 专业的上海网站建设公司排名/企业网站页面设计
  • 网站网站制作怎么样/河南自助建站seo公司
  • 论坛网站模板/优化师是做什么的
  • 办公空间设计要素/北京网站优化经理
  • 前端网站开发流程图/关键词搜索指数查询工具
  • 网站风格有哪些/如何找外包的销售团队
  • 柳州网站建设推荐/互联网推广公司靠谱吗
  • 姚家园做网站/广州网站制作公司
  • 河南郑州百度网站建设/免费b2b网站推广渠道
  • 找别人做网站一定注意什么/4001688688人工服务
  • 网站怎么做全屏滚动条/开源seo软件
  • 网址域名注册申请/自动app优化最新版
  • 武汉网络公司武汉做网站公司/广西seo搜索引擎优化
  • 网站文字特效/seo推广工具
  • 个人网站免费空间申请/竞价代运营公司
  • 网站后台无法编辑文字/seo站内优化培训
  • wordpress simple tag/关键词排名优化易下拉排名
  • 网站做百度口碑/江苏网站建设推广
  • 自助建站最大/网络营销策略概念
  • 做网站的难点是什么/站长工具网站排名
  • 鱼爪网公司转让平台/seo入口
  • 网络游戏开发平台/seo技术外包 乐云践新专家
  • 个人主题网站做的步骤/网站注册域名
  • 芒市网站建设公司/比较靠谱的电商培训机构
  • 微信上的网站怎么做的/免费发布推广的平台有哪些
  • 做网站能用的字体/英文外链代发
  • 企业网站做优化/百度网页游戏排行榜
  • 做网站前台用什么/线上营销推广方案有哪些
  • 可以在电脑做公务员题的网站/个人网站设计内容
  • 西安网站建设专家/长沙网络推广平台