栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

SpringBoot入门

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot入门

[TOC]

一、Spring Boot 入门1、Spring Boot 简介

简化Spring应用开发的一个框架;

整个Spring技术栈的一个大整合;

J2EE开发的一站式解决方案;

2、微服务

2014,martin fowler

微服务:架构风格(服务微化)

一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;

单体应用:ALL IN ONE

微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;

详细参照微服务文档

3、环境准备

环境约束

–jdk1.8:Spring Boot 推荐jdk1.7及以上;java version "1.8.0_112"

–maven3.x:maven 3.3以上版本;Apache Maven 3.3.9

–IntelliJIDEA2017:IntelliJ IDEA 2017.2.2 x64、STS

–SpringBoot 1.5.9.RELEASE:1.5.9;

统一环境;

1、MAVEN设置;

给maven 的settings.xml配置文件的profiles标签添加


  jdk-1.8
  
    true
    1.8
  
  
    1.8
    1.8
    1.8
  
2、IDEA设置

整合maven进来;

搜狗截图20180129151045.png

搜狗截图20180129151112.png

4、Spring Boot HelloWorld

一个功能:

浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串;

1、创建一个maven工程;(jar)2、导入spring boot相关的依赖
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.9.RELEASE
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
    
3、编写一个主程序;启动Spring Boot应用
@SpringBootApplicationpublic class HelloWorldMainApplication {    public static void main(String[] args) {        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}
4、编写相关的Controller、Service
@Controllerpublic class HelloController {    @ResponseBody
    @RequestMapping("/hello")    public String hello(){        return "Hello World!";
    }
}
5、运行主程序测试6、简化部署
 
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

将这个应用打成jar包,直接使用java -jar的命令进行执行;

5、Hello World探究1、POM文件1、父项目

    org.springframework.boot
    spring-boot-starter-parent
    1.5.9.RELEASE他的父项目是
  org.springframework.boot
  spring-boot-dependencies
  1.5.9.RELEASE
  ../../spring-boot-dependencies他来真正管理Spring Boot应用里面的所有依赖版本;

Spring Boot的版本仲裁中心;

以后我们导入依赖默认是不需要写版本;(没有在dependencies里面管理的依赖自然需要声明版本号)

2、启动器

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

spring-boot-starter-==web==:

spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;

Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目里面引入这些starter相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器

2、主程序类,主入口类
@SpringBootApplicationpublic class HelloWorldMainApplication {    public static void main(String[] args) {        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

@SpringBootApplication:    Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;

@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@documented@Inherited@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan(excludeFilters = {      @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),      @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })public @interface SpringBootApplication {

@SpringBootConfiguration:Spring Boot的配置类;

标注在某个类上,表示这是一个Spring Boot的配置类;

@Configuration:配置类上来标注这个注解;

配置类 -----  配置文件;配置类也是容器中的一个组件;@Component

@EnableAutoConfiguration:开启自动配置功能;

以前我们需要配置的东西,Spring Boot帮我们自动配置;@EnableAutoConfiguration告诉SpringBoot开启自动配置功能;这样自动配置才能生效;

@AutoConfigurationPackage@import(EnableAutoConfigurationimportSelector.class)public @interface EnableAutoConfiguration {

@AutoConfigurationPackage:自动配置包

@import(AutoConfigurationPackages.Registrar.class):

Spring的底层注解@import,给容器中导入一个组件;导入的组件由AutoConfigurationPackages.Registrar.class;

==将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器;==

@import(EnableAutoConfigurationimportSelector.class);

给容器中导入组件?

EnableAutoConfigurationimportSelector:导入哪些组件的选择器;

将所有需要导入的组件以全类名的方式返回;这些组件就会被添加到容器中;



会给容器中导入非常多的自动配置类(xxxAutoConfiguration);就是给容器中导入这个场景需要的所有组件,并配置好这些组件;

自动配置类



作者:简简算算
链接:https://www.jianshu.com/p/5e0d19424e49


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/235596.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号