Spring Boot入门

Spring应用开发流程

图片.png

Spring Boot应用开发流程

1、配置环境 只需要安装jdk即可,不用安装tomcat


图片.png

Spring Boot核心特性

  • 极低的学习成本
  • 可独立运行的Spring项目 (不需要打成war,放到tomcat目录下,会生成jar包,启动时既可运行,通过脚本自动启动,无论多少台服务器都能快速部署)
  • 习惯优于配置,极大的提高了开发效率
  • 极简的组件依赖,自动发现和自动装配。只需在maven中配置一个启动器就可以。
  • 提供运行时的程序监控
  • 与分布式架构和云计算的天然集成 spring-cloud

Spring Boot目录结构

图片.png

通过maven创建

需要手动在resources文件夹下创建
1、static文件夹 存放静态资源 如css js 等
2、templates文件夹 页面 jsp等
3、application.properties 配置文件
之后配置pom.xml



    4.0.0

    com.alan
    SpringBootDemo1
    1.0-SNAPSHOT


    
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.0.RELEASE
    


    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

    

    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



这里不需要在web.xml进行配置将dispatcherServlet 与springmvc.xml进行关联,用入口类方式实现,一般名称为工程名+Application

  • spring boot入口类 直接run启动运行
package com.alan.myspringboot.controller;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * SpringBoot应用的入口类
 */
@SpringBootApplication
public class SpringBootDemo1Application {

    public static void main(String[] args) {

        //启动springboot应用
        SpringApplication.run(SpringBootDemo1Application.class);
    }


}
  • 测试类
package com.alan.myspringboot.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;


/**
 * 通过spring IOC控制本类
 */
@Controller
public class MyController {


    //Spring MVC 关联与/out地址绑定,返回值在页面展示
    @RequestMapping("/out")
    @ResponseBody
    public String out(){
        return "success!!!";
    }

}

Spring Initializr 构建Spring Boot应用

通过idea直接创建

Spring Boot入口类与启动流程

  • 入口类
    1、类名通常以*Application结尾
    2、入口类上增加@SpringBootApplication注解
    3、利用SpringApplication.run()方法启动应用


    图片.png
  • application.properties 常用配置


  • application.properties

server.port=8889
server.servlet.context-path=/springbootdemo3
#将日志保存到文件中
logging.file=/Users/alan/test/spring.log
#日志级别debug >info > warn > error > fatal
logging.level.root = info
#设置为debug方便调试
debug=true
#配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.url=jdbc:mysql:///sm
spring.datasource.username=root
spring.datasource.password=root

第二种配置方式 application.yml ( 推荐这种配置方法)

debug: true
logging:
  level:
   root: info
  file: /Users/alan/test/spring.log
spring:
  datasource:
    driver-class-name: mysql.jdbc.Driver
    url: jdbc:mysql:///sm
    username: root
    password: root
#自定义项
mail:
  config:
    name: 爱美商城
    description: 这是一家化妆品网站
    hot-sale: 20
    show-advert: true

package com.alan.springbootdemo3;


import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {


    @Value("${mall.config.name}")
    private String name;
    @Value("${mall.config.description}")
    private String description;
    @Value("${mall.config.hot-sales}")
    private Integer hotSales;
    @Value("${mall.config.show-advert}")
    private Boolean showAdvert;

    @RequestMapping("/out")
    @ResponseBody
    public String test(){
        return "hello springboot!";
    }


    @RequestMapping("/info")
    @ResponseBody
    public String info(){
        return String.format("输出:%s,%s,%s,%s",name,description,hotSales,showAdvert);
    }
}

环境配置文件

  • Spring Boot可针对不同的环境提供不同的Profile文件。
  • Profile文件的默认命名格式为application-{env}.yml
  • 使用spring.profiles.active选型来指定不同的profile

application.yml

spring:
  profiles:
    active: dev

之后具体配置生成和测试配置文件
application-dev.yml
application-prd.yml

打包与运行

  • 利用Maven的package命令,生成可独立运行的Jar包。
  • 利用java -jar xxx.jar 命令启动Spring boot 应用
  • Jar包可自动加载同目录的application配置文件

你可能感兴趣的:(Spring Boot入门)