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

营销型网站方案ppt模板创业网站推广怎么做

营销型网站方案ppt模板,创业网站推广怎么做,电子商务网站建设与管理相关论文,用网址进入的游戏在Spring Boot应用程序中#xff0c;CommandLineRunner和ApplicationRunner是两个重要的接口#xff0c;它们允许我们在应用程序启动后执行一些初始化任务。本文将介绍CommandLineRunner和ApplicationRunner的区别#xff0c;并提供代码示例和使用场景#xff0c;让我们更好…在Spring Boot应用程序中CommandLineRunner和ApplicationRunner是两个重要的接口它们允许我们在应用程序启动后执行一些初始化任务。本文将介绍CommandLineRunner和ApplicationRunner的区别并提供代码示例和使用场景让我们更好地理解和使用这两个接口。 CommandLineRunner和ApplicationRunner的用法 CommandLineRunner接口: 方法签名: void run(String... args)参数类型: 字符串数组表示应用程序启动时传递的命令行参数执行时机: 在Spring上下文准备好之后但在调用ApplicationRunner之前执行。 ApplicationRunner接口: 方法签名: void run(ApplicationArguments args)参数类型: ApplicationArguments对象提供对应用程序启动参数的更高级别访问执行时机: 在CommandLineRunner之后执行。 这两个接口的目的是允许开发人员在应用程序启动完成后执行一些自定义的任务例如加载初始化数据、执行数据迁移、启动后台任务等它们都实现了org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean注解这意味着只有在没有其他类型的Bean定义的情况下才会自动配置它们。 我们可以通过以下两种方式使用CommandLineRunner和ApplicationRunner 通过实现接口并将其作为Spring Bean注册 创建一个类并实现CommandLineRunner或ApplicationRunner接口实现接口的run方法在该方法中编写您的自定义逻辑将实现类标记为Component或使用其他适当的注解进行注解以便使其成为Spring Bean import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component;Component public class MyApplicationRunner implements ApplicationRunner {Overridepublic void run(ApplicationArguments args) throws Exception {// 在这里编写您的自定义逻辑} }通过使用SpringApplication的run方法参数进行注册 在SpringApplication.run方法中将实现了CommandLineRunner或ApplicationRunner接口的实例作为参数传递给run方法。 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.ApplicationRunner;SpringBootApplication public class YourApplication implements CommandLineRunner, ApplicationRunner {public static void main(String[] args) {SpringApplication.run(YourApplication.class, args);}Overridepublic void run(String... args) throws Exception {// 在这里编写您的自定义逻辑}Overridepublic void run(ApplicationArguments args) throws Exception {// 在这里编写您的自定义逻辑} }无论我们选择哪种方式一旦应用程序启动完成run方法将被调用并且我们可以在其中编写我们的自定义逻辑。可以根据我们的需求选择使用CommandLineRunner或ApplicationRunner接口。 CommandLineRunner和ApplicationRunner的区别 参数不同 从上面的代码示例中我们可以看到CommandLineRunner和ApplicationRunner的一个主要的不同就是它们的run方法的参数类型不同。CommandLineRunner的run方法接收一个String数组它是直接从命令行传入的参数比如java -jar myapp.jar arg1 arg2那么arg1和arg2就会被传入到run方法中。而ApplicationRunner的run方法接收一个ApplicationArguments对象它不仅包含了命令行传入的参数还包含了其他的应用程序参数比如--spring.profiles.activedev这些参数可以通过ApplicationArguments的方法来获取比如args.getOptionNames()args.getNonOptionArgs()等。 执行顺序不同 另外一个不同就是CommandLineRunner和ApplicationRunner的执行顺序不同。如果我们在同一个应用程序中同时定义了多个CommandLineRunner和ApplicationRunner那么它们的执行顺序是怎样的呢答案是首先执行所有的CommandLineRunner然后执行所有的ApplicationRunner而且它们都是按照优先级的顺序执行的优先级越高越先执行。我们可以通过Order注解来指定它们的优先级值越小优先级越高比如 // 优先级为1的CommandLineRunner Component Order(1) public class FirstCommandLineRunner implements CommandLineRunner {// 省略run方法 }// 优先级为2的CommandLineRunner Component Order(2) public class SecondCommandLineRunner implements CommandLineRunner {// 省略run方法 }// 优先级为1的ApplicationRunner Component Order(1) public class FirstApplicationRunner implements ApplicationRunner {// 省略run方法 }// 优先级为2的ApplicationRunner Component Order(2) public class SecondApplicationRunner implements ApplicationRunner {// 省略run方法 } 在上面的代码中我们定义了两个CommandLineRunner和两个ApplicationRunner并且分别指定了它们的优先级。那么它们的执行顺序是 FirstCommandLineRunnerSecondCommandLineRunnerFirstApplicationRunnerSecondApplicationRunner CommandLineRunner和ApplicationRunner的使用场景 那么我们什么时候应该使用CommandLineRunner和ApplicationRunner呢一般来说它们都可以用来在Spring容器启动后执行一些初始化的任务比如加载配置初始化数据运行测试等。但是根据它们的不同我们可以根据具体的需求来选择合适的接口。下面是一些可能的使用场景 如果我们需要在Spring容器启动后执行一些简单的任务而且不需要获取任何的应用程序参数那么我们可以使用CommandLineRunner它的用法比较简单只需要实现一个接口然后写好run方法即可。如果我们需要在Spring容器启动后执行一些复杂的任务而且需要获取一些应用程序参数比如Spring的配置参数那么我们可以使用ApplicationRunner它的用法比较灵活可以通过ApplicationArguments对象来获取各种参数然后根据参数来执行不同的逻辑。如果我们需要在Spring容器启动后执行一些和命令行相关的任务比如解析命令行参数执行一些命令那么我们可以使用CommandLineRunner它可以直接获取命令行传入的参数然后根据参数来执行不同的命令。如果我们需要在Spring容器启动后执行一些和应用程序相关的任务比如启动其他的组件调用其他的服务那么我们可以使用ApplicationRunner它可以获取应用程序的上下文然后根据上下文来执行不同的任务。 实操—获取SpringBoot启动后容器里面所有的Bean Spring Boot 在内部加载了大量的 bean以最小的配置运行我们的应用程序。 我们想要找出所有这些 SpringBoot 加载的 Bean 及其类类型信息就可以使用上面说的方法 使用ApplicationContext获取所有已加载的 bean 1使用ApplicationContext.getBeanDefinitionNames()查找所有已加载 bean 的名称 2使用ApplicationContext.getBean(beanName)获取包含其运行时类型信息的 bean。 SpringBootApplication public class SpringBootWebApplication extends SpringBootServletInitializer implements CommandLineRunner {Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(SpringBootWebApplication.class);}public static void main(String[] args) throws Exception {SpringApplication.run(SpringBootWebApplication.class, args);}Autowiredprivate ApplicationContext appContext;Overridepublic void run(String... args) throws Exception {String[] beans appContext.getBeanDefinitionNames();Arrays.sort(beans);for (String bean : beans) {System.out.println(bean of Type :: appContext.getBean(bean).getClass());}} }输出信息如下 .... basicErrorController of Type :: class org.springframework.boot.autoconfigure.web.BasicErrorController beanNameHandlerMapping of Type :: class org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping beanNameViewResolver of Type :: class org.springframework.web.servlet.view.BeanNameViewResolver characterEncodingFilter of Type :: class org.springframework.boot.web.filter.OrderedCharacterEncodingFilter conventionErrorViewResolver of Type :: class org.springframework.boot.autoconfigure.web.DefaultErrorViewResolver defaultServletHandlerMapping of Type :: class org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport$EmptyHandlerMapping defaultViewResolver of Type :: class org.springframework.web.servlet.view.InternalResourceViewResolver dispatcherServlet of Type :: class org.springframework.web.servlet.DispatcherServlet dispatcherServletRegistration of Type :: class org.springframework.boot.web.servlet.ServletRegistrationBean duplicateServerPropertiesDetector of Type :: class org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration$DuplicateServerPropertiesDetector embeddedServletContainerCustomizerBeanPostProcessor of Type :: class org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizerBeanPostProcessor error of Type :: class org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView errorAttributes of Type :: class org.springframework.boot.autoconfigure.web.DefaultErrorAttributes...
http://www.huolong8.cn/news/186824/

相关文章:

  • 南昌网站建设和推广上海市招工网
  • 品牌型网站建设解决方案珠海市研发网站建设
  • 百度做网站承德在线招聘
  • 山东省济宁市建设厅官方网站有哪些做淘宝素材的网站有哪些
  • 乐清市建设路小学网站个人建网站一般多少钱?
  • 深圳的网站建设的公司网页是网站的什么颜色好看
  • 网站开发工具报告通信网站建设
  • 在线考试系统网站模板自动推广软件下载
  • 北京鸿讯泰德网站建设wordpress主题:yusi
  • 朔州城市建设网站除了小红书还有什么推广平台
  • 金融互助网站建设湖南人文科技学院王牌专业
  • 上海建设网站公司哪家好最专业的网站建设机构
  • 无锡网站建设优化西安做网站的公司在哪
  • 网站建设需要哪些硬件wordpress 海淘主题下载
  • 大兴网站开发网站建设报价深圳网站设计公司费用多少
  • 北京网站建设成都公司中英文的网站怎么建设
  • 做网站需要学会什么自己做一个商城网站怎么做
  • 个人备案网站可以做商城展示万网建站教程
  • 重庆网站排名推广网站建设公司哪家强
  • 杭州职称评审系统网站微网站如何建设方案
  • 个人怎么做淘宝客网站做网站百度一下
  • 东莞企业网站找谁wordpress网页设计教程
  • 美的技术网站杭州设计公司老总
  • 佛山外贸网站建设咨询第一次和两个老头做网站
  • 房产网站怎么推广wordpress图片缩放
  • 网站风格总结项目计划
  • 甘肃农村网站建设网站推广建设策略
  • wordpress做复杂网站电子商务平台管理
  • 阅读网站建设做百度推广送网站
  • 国家官方网站果洛州公司网站建设