您当前的位置: 首页 >  spring boot

彭世瑜

暂无认证

  • 1浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringBoot学习笔记-1:第一章 Spring Boot 入门

彭世瑜 发布时间:2020-08-05 09:40:29 ,浏览量:1

第一章 Spring Boot 入门 1、SpringBoot 简介

1、简介

  1. SpringBoot 简化了 Spring 应用开发,约定大于配置
  2. 整个 Spring 技术栈的一个大整合
  3. J2EE 开发一站式解决方案

2、优点

  1. 快速建立独立运行的 Spring 项目以及与主流框架集成
  2. 使用嵌入式的 Servlet 容器,应用无需打成 war 包
  3. starts 自动依赖与版本控制
  4. 大量的自动配置,简化开发,也可以修改默认值
  5. 无需配置 XML,无代码生成,开箱即用
  6. 准生产环境的运行时应用监控
  7. 与云计算的天然集成

3、缺点

  1. 需要学习 Spring
2、微服务

2014 年 martin fowler

原文:https://martinfowler.com/articles/microservices.html

译文:http://blog.cuicc.com/blog/2015/07/22/microservices/

  1. 微服务是一种架构风格
  2. 一个应用应该是一组小型服务
  3. 可以通过 HTTP 的方式进行互通
  4. 每个功能元素最终都是一个可独立替换和独立升级的软件单元

单体应用 微服务

3、环境准备
JDK 1.8
Maven 3.x
IntelliJ IDEA 2017 或者 STS
SpringBoot 1.5.9.RELEASE
$ java -version
java version "1.8.0_221"

$ mvn -v
Apache Maven 3.6.3

1、修改用户级别设置 maven

~/.m2/settins.xml





    
    
        
            alimaven
            aliyun maven
            central
            http://maven.aliyun.com/nexus/content/groups/public/
        
        
            alimaven
            aliyun maven
            central
            http://maven.aliyun.com/nexus/content/repositories/central/
        
    

    
        
            jdk-1.8
            
                true
                1.8
            
            
                1.8
                1.8
                1.8
            
        
    


2、修改 IDEA 的 maven 路径

4、SpringBoot HelloWorld

1、创建 Maven 工程

2、导入 SpringBoot 依赖


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



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



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

3、创建主程序

package com.mouday;

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

// 标注主程序,说明这是一个SpringBoot应用
@SpringBootApplication
public class ApplicationMain {
    public static void main(String[] args) {
        SpringApplication.run(ApplicationMain.class, args);
    }
}

4、创建 Controller

package com.mouday.controller;

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

@Controller
public class HelloController {
    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "Hello world!";
    }
}

5、启动程序

$mvn spring-boot:run

访问: http://localhost:8080/hello

6、简化部署 可以将应用打包成一个可执行 jar 包

# 打包
$ mvn clean package

# 运行
$ java -jar springboot-helloword-1.0-SNAPSHOT.jar
5、文件说明

pom.xml

1、父项目


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

SpringBoot 版本仲裁中心

  1. 我们导入的依赖默认不需要写版本

  2. 没有在 dependencies 中管理的依赖需要些版本号

2、导入的依赖


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

spring-boot-start: springBoot 场景启动器

帮我们导入了 web 模块正常运行所依赖的组件

spring-boot 将所有的功能场景都抽取出来,做成一个个的 starters 启动器

6、自动配置
package com.mouday;

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

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

@SpringBootApplication 标注 SpringBoot 的主配置类

@SpringBootConfiguration 配置类

@Configuration 标注配置类

配置类 - 配置文件

配置类也是容器的一个组件 @Component

@EnableAutoConfiguration 开启自动配置功能

@AutoConfigurationPackage 自动配置包

将主配置类所在的包及下面子包所有组件扫描到 Spring 容器

@Import 给容器中导入一个组件 从 META-INF/spring.factories 导入自动配置类

自动配置类

org.springframework.boot.autoconfigure

7、使用向导快速创建 Spring Boot 应用

https://start.spring.io/

@ReponseBody

  1. 用在方法上,方法直接返回给浏览器
  2. 用在类上,类中的所有方法直接返回给浏览器,如果是对象转为 JSON

@RestController

等价于:

@Controller
@ResponseBody

默认生成的 SpringBoot 项目

resources/
    static 保存静态资源 js/css/image
    tamplates 模板页面 默认不支持jsp,可以使用模板引擎(freemaker/thymeleaf)
    application.properties 应用配置
关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.0542s