SpringBoot入门

什么是SpringBoot


Spring Boot是由Pivotal团队提供的全新快速开发框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。能够帮助我们快速的整合第三方框架,所以spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式。

为什么要使用SpringBoot


传统项目的缺点:配置web.xml,繁琐的配置文件,jar包冲突,打包方式打成war包放入tomcat的webapps目录下执行

SpringBoot项目:没有web.xml,只需要很少的配置导入很少的jar包,完全采用注解化,内嵌http服务器(Tomcat和Jetty),默认是Tomcat服务器,最终以Java程序进行执行(底层通过maven依赖继承,使用注解启动mvc来代替web.xml)

SpringBoot与SpringMVC的关系


SpringBoot的web组件整合了SpringMVC,但是SpringBoot启动SpringMVC的时候没有传统的配置文件,

SpringMVC在3.0之后支持注解启动,SpringBoot使用注解启动

创建第一个SpringBoot项目


  1. 创建一个maven工程 packaging选择jar类型,因为springboot内置tomcat不需要打war包

  2. pom.xml中引入依赖
      
      <parent>
          <!-- 整合第三方常用框架信息,解决jar包版本冲突 后续的依赖引用不用再写版本号 -->
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-parent</artifactId>
          <version>2.0.0.RELEASE</version>
      </parent>
    
    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    spring-boot-starter-web 是SpringBoot的Web支持模块,引入之后会自动引入SpringMVC及其依赖的jar包(原理使用maven依赖继承【maven子项目会继承父项目的依赖】,相当于把第三方常用maven依赖信息,在parent项目中封装好,提供依赖信息关联整合的jar包)

  3. 编写controller

    @RestController
    public class HelloWorldController {
        @RequestMapping("/")
        public String index() {
            return "Hello World";
        }
    }

    @RestController的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!

  4. 编写启动类,启动主程序,打开浏览器访问http://localhost:8080,就可以看到效果了,对比传统项目,简直哔了狗!

    @EnableAutoConfiguration
    @ComponentScan("com.aisino")
    public class Application {
        
        public static void main(String[] args) {
            //整个程序的入口,启动SpringBoot项目
            SpringApplication.run(Application.class, args);
        }
        
    }

    @EnableAutoConfiguration:作用在于让 Spring Boot   根据应用所声明的依赖来对 Spring 框架进行自动配置
    这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。默认的扫描范围是当前类   @ComponentScan扫包范围

 

启动类也可以使用注解@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan  注解所修饰,换言之Springboot 提供了统一的注解来替代以上三个注解

扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下所有的类都可以扫到。SpringBoot访问静态资源

SpringBoot访问静态资源


在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。

默认配置

Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:

/static

/public

/resources

/META-INF/resources

举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问http://localhost:8080/D.jpg。如能显示图片,配置成功。

总结


使用spring boot可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用sping boot非常适合构建微服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值