zoukankan      html  css  js  c++  java
  • Spring全家桶之spring boot(一)

      spring boot框架抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程。使用spring boot之后就不用像以前使用ssm的时候添加那么多配置文件了,spring boot除了支持ssm之外,还支持非常多的第三方技术。spring boot就像是一个百宝箱,你要用那些技术,直接告诉他就行了。在spring boot中写的代码跟以前一样,所以在学习的时候非常容易上手。下面开始介绍spring boot核心内容以及目录结构:

      如何使用IDEA创建spring boot项目?

      1、新建完一个Empty Project之后创建一个模块

      

      2、选择Spring Initializr然后选择本地的JDK,之后Next进入下一步

      3、设置group和artifact,这里选择jar包,spring boot有内置的tomcat所以不需要打成war包,在Maven项目中一般选择打war包(根据项目需求选择)。

       

      4、选择web勾选Spring Web Starter和Spring Web Service,创建完项目之后spring boot会在pom.xml中自动添加勾选的相关依赖。然后点击Finish之后一个基础的spring boot项目就创建完毕了。

      

      5、在第三步创建的包下再创建一个controller包,在controller包下创建FirstController类,代码如下:

     1 import org.springframework.stereotype.Controller;
     2 import org.springframework.web.bind.annotation.RequestMapping;
     3 import org.springframework.web.bind.annotation.ResponseBody;
     4 
     5 @Controller
     6 public class FirstController {
     7     @RequestMapping("/boot/first")
     8     @ResponseBody
     9     public String first(){
    10         return "first";
    11     }
    12 }

       6、写完controller代码之后进入Application类包,启动SpringApplication.run

      

      7、启动主函数检查未报错之后,spring boot的第一个项目就已经写完;之后运行Application类,这样Spring Boot会启动内嵌的tomcat,之后我们从浏览器中访问该Controller即可:localhost:8080/boot/first

      spring boot相关类和文件分析

      Application类

    • @SpringBootApplication注解是springboot的核心注解,主要作用是开启spring自动配置。使用这个注解相当于加上了下面三个注解:
      • @Configuration 允许将其他@bean注解标识的类加入到spring容器中,相当于spring配置文件中的beans标签
      • @EnableAutoConfiguration 启动自动配置
      • @ComponentScan 会自动扫描当前包和子包下的标有@Component,@Service,@Repository,@Controller的类。相当于以前spring配置文件中的context:component-scan标签  
    • main方法中的SpringApplication.run在启动的时候会启动springboot程序,启动spring容器,启动内嵌的tomcat容器。
    • 不要创建一个比Application类包级别高的类,需要创建子包,因为spring boot会自动扫描application类的子包或者是平级的类,如果是高与application的话就无法扫描了。例如FirstApplication类包位于com.monkey.first包下,Test类和controller包下的所有类Application类包都可以扫描到,但是 Test1这个类比Application类高一级所以就无法扫描到Test1。

      resources目录及各种文件

    • application.properties 是spring boot配置文件
    • static存放静态资源
    • templates spring boot动态的数据不建议使用jsp(spring boot可以通过修改配置文件之后使用jsp),而是使用thymeleaf模板语言,跟velocity和freemarker类似,是一个模板引擎。是独立于spring boot的,并不是spring boot的一部分。

      .gitignore

      git忽略提交规则

      mvnw

      是linux的脚本文件,mvnw 是maven wrapper,maven中的插件具有滞后性,即有的插件只针对某个版本有效,这里在用的时候,可能会安装多个版本的maven,为了解决这个问题,maven wrapper会自动的切换。

      mvnw.cmd

      是windows的脚本文件,作用同上

      pom.xml文件解析

      依赖没有版本号,是从父工程中选择继承的(应该是父工程的父工程,爷爷辈)。这个依赖叫做起步依赖,这些第三方的依赖是写在了dependencymanagement中,所以我们的项目如果要使用的话,还需要些依赖,只不过版本号是可以省略的。如果不想使用spring boot的默认版本的话,自己手动添加版本号即可。

      spring boot应用总结spring boot就相当于一个平台,把我们需要一些东西准备好了,我们在这个平台里面填充业务代码即可,即代码跟以前代码区别不大。

      1、能够快速创建基于Spring的应用程序;

      2、能够直接使用java main方法启动内嵌的Tomcat服务器运行Spring boot程序,不需要部署war包文件;

      3、提供约定的starter POM来简化Maven配置,让Maven的配置变得简单;

      4、根据项目的Maven依赖配置,Spring boot自动配置Spring、Spring mvc等;

      5、提供了程序的健康检查等功能;

      6、基本可以完全不使用XML配置文件,采用注解配置。

      补充:spring boot热部署

      热部署是指当我们修改代码后,服务能自动加载新修改的内容,这样大大提高了我们开发的效率,否则每次都要手动重启,这样就比较耗时。Spring boot热部署通过添加一个插件实现,在pom中添加下面依赖:

    <!-- springboot 开发自动热部署 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>

    加入热部署插件之后,需要手动build一下才可以生效。该插件有时候会失效,此时手动重启即可。

  • 相关阅读:
    POJ3061(尺取法)
    POJ2739(尺取法)
    HDOJ4763(KMP原理理解)
    HDOJ5521(巧妙构建完全图)
    UVALive7261(2015ACM/ICPC北京赛区现场赛A)
    POJ1745动态规划
    POJ1273(最大流入门)
    HDOJ5883(欧拉路)
    HDOJ5437(优先队列)
    HDOJ5875(线段树)
  • 原文地址:https://www.cnblogs.com/scm2019/p/11326454.html
Copyright © 2011-2022 走看看