springboot

一、什么是springboot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

SpringBoot让Spring的开发变得更简单、快速。它内嵌了服务器,Spring 容器中预装配了大量的第三方组件,完全抛弃了XML配置。也就是说Springboot并不是什么新技术,而是让spring项目开发更加自动化。

SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。

1.1、SpringBoot四个主要特性

1、SpringBoot Starter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;

2、自动配置:SpringBoot的自动配置特性利用了Spring4对条件化配置的支持,合理地推测应用所需的bean并自动化配置他们;

3、命令行接口:(Command-line-interface, CLI):SpringBoot的CLI发挥了Groovy编程语言的优势,并结合自动配置进一步简化Spring应用的开发;

4、Actuatir:它为SpringBoot应用的所有特性构建一个小型的应用程序。但首先,我们快速了解每项特性,更好的体验他们如何简化Spring编程模型。

1.2 SpringBoot开发的具体好处

回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:

1、配置web.xml,加载spring和spring mvc

2、配置数据库连接、配置spring事务

3、配置加载配置文件的读取,开启注解

。。。

配置完成之后部署tomcat 调试
而使用 Spring Boot 来开发项目则只需要非常少的几个配置就可以了

二、使用配置

Springboot运行步骤

1、在application.yml中配置必要指令,这些指令一般是全局指令。比如连接数据库的用户名密码、内嵌tomcat的端口号等,后面将给出具体配置。

2、在Main方法中执行SpringApplication.run()启动springboot,加@SpringBootApplication 注解标注为入口。

3、Springboot会自动扫描Main方法所在类的同级和下级包,可以加@ComponentScan(包),扫描任意包。

4、配置类可以实现WebMvcConfigurer接口,它已经写好常用的配置接口。

5、如果不实现WebMvcConfigurer接口可以加@Configuration注解标注为配置类,只要被springboot扫描到就会自动加载配置。
下面简单的演示一下怎么使用springboot吧

配置类的常用配置

1、@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理

跨域访问

public void addCorsMappings(CorsRegistry registry) {    
registry.addMapping("/**") //运行所有请求地址      
       .allowedOrigins("*") //允许所有域名           
        .allowedHeaders("*")//允许所有头          
          .allowedMethods("*");//允许所有方法    
           // /**  ->1个或多个地址   *->1个或多个字符串}

资源放行

public void addResourceHandlers(ResourceHandlerRegistry registry) {  
 //放行static下所有资源  
   registry.addResourceHandler("/static/**")
      //本地static下的所有资源}
     .addResourceLocations("classpath:/static/");        

拦截器

// 拦截器
 public void addInterceptors(InterceptorRegistry registry) { 
     registry.addInterceptor(new MyInterceptor())   
      //拦截所有  
       .addPathPatterns("/**")     
       //放行资源
       .excludePathPatterns("/gotoAddUser","/static/**"); 
       }

yaml与jar包依赖

首先创建好一个maven项目(这里我就不演示怎么创建了(`へ´*)ノ)
在pom文件中添加依赖

 <!-- 继承父包 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 热启动-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
 <!--thymeleaf模板jar,是很不错的html数据传递取值,类似jsp的jstl -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
         <!--&lt;!&ndash;jpa的jar包 ,操作数据库的,hibernate &ndash;&gt;-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
    </dependencies>

使用springboot就不需要像之前使用spring那样需要书写xml配置文件手动的去装载类或是去配置
但是一些常用的配置会以yaml文件进行配置,一些其他的配置,比如跨域,静态资源映射等可以在WebMvcConfigurer里面配置
在这里插入图片描述
yaml配置

server:
  port: 8080
#  servlet:
#    context-path: /mvc
spring:
  datasource:  #数据库源的配置
    url: jdbc:mysql://localhost:3306/springproject?useUnicode=true&characterEncoding=UTF-8
    driver-class-name: com.mysql.jdbc.Driver
    password: 123456
    username: root
  thymeleaf:  #thymeleaf模板配置
    suffix: .html
  mvc:           
    static-path-pattern: classpath:/templates/

  servlet:   #servlet配置
    multipart:
      enabled: true
      max-file-size: 10240000
      file-size-threshold: 10240
      max-request-size: 20240000
  jpa:    #hibernate配置
    show-sql: true
    database: mysql
    hibernate:
      ddl-auto: update
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5Dialect

mybatis:   #mybatis配置
  type-aliases-package: com.entity
  mapper-locations: classpath:mapper/*.xml 

然后写一个启动类如下就可以运行了

@SpringBootApplication
public class QuestionMvcMain {
    public static void main(String[] args) {
        SpringApplication.run(QuestionMvcMain.class);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值