Spring 框架入门教程
1. 1. Spring 框架 2. 2. Spring 5 3. 3. Spring WebFlux 4. 4. 先介绍一下 Spring 5. 5. 什么是 Spring 依赖注入 6. 6. 什么是 Spring IoC 容器 和 Bean 7. 7. Spring Bean 的生命周期 8. 8. Spring REST 开发 9. 9. Spring REST XML 10. 10. Spring RestTemplate 开发 11. 11. Spring AOP 切面编程 12. 12. Spring AOP 方法调优 13. 13. Spring 注解详解 14. 14. Spring 核心注解之 @Autowired 15. 15. Spring 核心注解之 @RequestMapping 16. 16. Spring MVC 开发样例 17. 17. Spring MVC 开发指南 18. 18. Spring MVC 异常处理机制 19. 19. Spring MVC Validator 20. 20. Spring MVC 拦截器 21. 21. Spring MVC 文件上传 22. 22. Spring MVC 国际化(i18n) 23. 23. Spring MVC Hibernate MqSQL 24. 24. Spring ORM 25. 25. Spring ORM JPA 26. 26. Spring Data JPA 27. 27. Spring 事务管理 28. 28. 常用的 Spring JdbcTemplate 29. 29. Spring Security 简介 30. 30. Spring Security 教程 31. 31. Spring Security UserDetailsService 32. 32. Spring MVC 登录注销简单案例 33. 33. Spring Security Roles 34. 34. Spring Boot Tutorial 35. 35. Spring Boot Components 36. 36. Spring Boot CLI Hello World 37. 37. Spring Boot Initilizr Web 38. 38. Spring Boot Initilizr IDE 39. 39. Spring Boot Initilizr CLI 40. 40. Spring Boot Initilizr Tools 41. 41. Spring Boot MongoDB 42. 42. Spring Boot Redis Cache 43. 43. Spring Boot 常见面试问题 44. 44. Spring Batch 45. 45. Spring Batch 批处理示例 46. 46. Spring AMQP 47. 47. Spring RabbitMQ 48. 48. Spring AMQP RabbitMQ 49. 49. Apache ActiveMQ 安装与启动 50. 50. Spring ActiveMQ 教程 51. 51. Spring ActiveMQ 示例 52. 52. Spring JDBC 53. 53. Spring DataSource JNDI 54. 54. Spring Hibernate 55. 55. Spring Primefaces JPA 56. 56. Spring Primefaces MongoDB 57. 57. Spring Primefaces Hibernate 58. 58. SpringRoo Primefaces Hibernate 59. 59. Spring JSF 60. 60. Spring JDF Hibernate 61. 61. Spring Data MongoDB 62. 62. Spring 常见面试问题

38. Spring Boot Initilizr IDE

这是我上一篇文章的延续。在阅读这篇文章之前,请浏览一下我在“;Spring Boot初始化Web界面“;。

简短的帖子内容

  • 带有IDE/IDE插件的Spring Boot Initilizr
  • 使用IDEs/IDE插件执行Spring Boot应用程序
  • “SpringApplication”类的内部结构和重要性

用于快速启动新的/Gradle项目。它生成初始项目结构并构建脚本以减少开发时间。

正如我们在上一篇文章中所讨论的,Spring Boot Initilizr有以下几种形式:

  1. 带有Web界面的Spring Boot初始化
  2. 带有IDE/IDE插件的Spring Boot Initilizr
  3. 使用Spring Boot CLI的Spring Boot Initilizr
  4. 带第三方工具的Spring Boot初始化

在我的上一篇文章中,我们已经讨论过与Web接口。现在,我们将讨论如何将与IDE/IDE插件一起使用;。几乎所有的javaide都提供Spring Boot插件。

我们将使用springsts套件来开发我们所有的Spring Boot程序。默认情况下,springsts套件附带了Spring Boot插件,不需要安装/配置它。

带有IDE/IDE插件的Spring Boot Initilizr

请按照以下步骤使用springstsuite创建一个Spring Mvcmaven项目(其他ide的步骤也差不多)

  • 请选择&#Spring Stater项目;“文件”&“8220;文件”&“新建”&“8221;菜单中的菜单选项,如下所示。
  • 如果您不直接在“新建”菜单中选择“Spring Stater项目”选项,请从“新建”类别下的“其他”中选择此选项。

  • 我们将获得以下“;newspringstater项目”;向导来提供与项目相关的信息
  • 请提供Spring Mvcmavenwebapplication项目的详细信息,如下所示,然后单击“;下一步”;按钮
  • 这里可以选择项目类型:Maven Project或Gradle Project,语言:Java或Groovy,Java版本,打包:Jar或War等。

  • 选择我们的项目相关技术堆栈,如下所示,然后单击“;完成”;按钮创建新的Spring Boot项目
  • 这里我们可以选择Spring Bootframeworkversion:1.2.5和我们所有项目所需的技术堆栈。

  • 现在springstsuite创建了一个Maven项目,并将所有需要的jar下载到我们的Maven本地存储库中。
  • 如果我们观察这个项目结构,pom.xml文件以及Java源文件,它们都与我们使用“;创建的文件相似;带有Web界面的Spring Boot初始化“;。

注:-同样,我们可以创建jar、Gradle项目、springweb服务、springrestapi、springcloud等。

执行Spring Boot应用程序

我们使用springstside创建了Spring Bootwebapplication。现在是运行此应用程序并观察结果的时候了。

  • 鼠标右键单击&8220;SpringMvcMavenIdeProjectApplication.java和#8221;文件并从“;运行方式”;菜单中选择“;Spring Boot App”;选项,将此程序作为Spring Boot应用程序运行,如下所示
  • 注意:为什么我们需要跑&;SpringMvcMavenIdeProjectApplication.java和#8221;程序?因为deProjectApplication.java和#8221;程序有Java的main()方法。我们将看到&8220;SpringApplication.run方法很快。

  • 当我们执行deProjectApplication.java和#8221;program,Spring Boot自动执行以下操作:
    1. 创建一个Spring MVC应用程序
    2. 使用默认端口号8080启动嵌入式Tomcat服务器
    3. 将我们的Spring Mvc应用程序部署到Tomcat服务器中

  • 使用&8220;访问我们的Spring MVC应用程序;https://localhost:8080/SpringMVCMavineDeproject”;或“;https://localhost:8080/*”;并观察结果
  • 这里*表示任何URI或上下文路径

    由于我们不提供任何映射或视图页(例如:-jsp),所以我们看到的是默认错误页。

注:-

  1. 使用这个基本的Spring Bootwebapplication项目并根据您的项目需求对其进行增强。
  2. 我们还可以使用springsteide生成的“;Spring MvcmavinedeproJejectApplicationTests.java和#8221;类来执行和测试我们的Spring Boot应用程序
  3. 鼠标右键单击&8220;SpringMVCMavineDeproJejectApplicationTests.java和#8221;类并选择“;运行方式>>JUnit测试”;选项。

“SpringApplication”类的内部结构和重要性

现在,我们将讨论什么是SpringApplication?为什么我们需要这个?SpringApplication的重要性?SpringApplication的内部结构?

  • “;SpringApplication”;是Spring Bootapi类之一。
  • SpringApplication类用于引导将从“;main()”;方法启动的Spring应用程序
  • 示例:-Spring STS IDE生成的类:“;SpringMVCMavinedProject应用程序”;

    
    package com.journaldev.Spring Boot.sample;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class SpringMvcMavenIdeProjectApplication {
      public static void main(String[] args) {
      SpringApplication.run(SpringMvcMavenIdeProjectApplication.class, args);
      }
    }
    

    我们打电话给SpringApplication.run()来自SpringMVCMavinedProjectApplication类的main()方法。

  • SpringMVCMavinedProjectApplication类使用@SpringBootApplication注解进行了注解
  • @SpringBootApplication=@Configuration+@EnableAutoConfiguration+@ComponentScan

    @SpringBootApplication执行以下操作:

    1. 因为@Configuration注解,它扫描@Bean方法来创建Bean。
    2. 因为@ComponentScan注解,它进行组件扫描(Components意味着用@组件,@服务,@存储库,@控制器等等)。
    3. 因为@EnableAutoConfiguration注解,它触发了Spring Boot自动配置。
  • 默认情况下,SpringApplication类创建“;AnnotationConfigEmbeddedWebApplicationContext”;实例
  • “;AnnotationConfigEmbeddedWebApplicationContext&8221;instance在我们的项目类路径中搜索JAR文件。基于在类路径上找到的jar,它创建了一个已实现的类的实例,该类是“;EmbeddedServletContainerFactory”;interface
  • 示例:-默认情况下,springstside将所有必需的Tomcat容器jar添加到我们新创建的Spring Boot项目类路径中。这就是为什么&&8220;AnnotationConfigEmbeddedWebApplicationContext”;instance创建了一个“;TomcatEmbeddedServletContainerFactory”;类的实例。

  • “;EmbeddedServletContainer工厂”;(“;JettyEmbeddedServletContainer工厂”;或“;TomcatembeddedServletContainer工厂”;)创建一个“;EmbeddedServletContainer”;实现的实例。
  • 示例:-默认情况下,springstside会创建一个“;TomcatEmbeddedServletContainerFactory”;类的实例。此工厂用于创建“;TomcatEmbeddedServletContainer”;类的实例。

  • 当我们运行SpringMVCMavinedProjectApplication类main()方法时,它会调用“;SpringApplication.run方法。
  • “个;SpringApplication.runSpring STS IDE中的()方法

    1. 此调用用于创建&8220;AnnotationConfigEmbeddedWebApplicationContext&8221;。
    2. 此“;AnnotationConfigEmbeddedWebApplicationContext”;实例用于创建“;TomcatEmbeddedServletContainerFactory”;类的实例。
    3. 此“;TomcatEmbeddedServletContainer工厂”;用于创建“;TomcatEmbeddedServletContainer”;类的实例。
    4. “;TomcatEmbeddedServletContainer”;instance在默认端口号8080处启动一个Tomcat容器,并部署我们的Spring Bootwebapplication。

这就是关于带有IDE/IDE插件的Spring Boot Initilizr和“SpringApplication”类的重要性。

我们将讨论“个;使用Spring Boot CLI的Spring Boot Initilizr“个;以及“;带第三方工具的Spring Boot初始化&#在我即将到来的岗位上。

如果您有任何问题/建议,请给我留言。