个人博客网:https://wushaopei.github.io/    (你想要这里多有)

一.SpringBoot 的版本与启动过程

1.SpringBoot都是jar工程

2.SpringBoot 版本问题

大版本1:内置的Spring是大版本4

1.5.8

1.5.12

大版本2:内置的Spring是大

版本5

3.SpringBoot启动过程观察

① 核心机制:

② 重要注解

注解名称 作用
@SpringBootApplication

声明一个SpringBoot程序,并使

@SpringBootConfiguration

@EnableAutoConfiguration

@ComponentScan等注解生效

@SpringBootConfiguration 相当于@Configuration注解的重新定义
@Configuration 声明一个Spring配置类
@Bean 在@Configuration注解标记的类中将标记了@Bean的方法返回值对象加入IOC容器,可以对应XML配置文件中的bean标签来理解
@EnableAutoConfiguration 启用自动配置
@AutoConfigurationPackage 当前包下包含需要自动扫描的类
@ComponentScan 指定要扫描的包

4.扫描包的问题

  • 自动扫描

需要被扫描的类(@Controller、@Service)所在的包是主启动类所在包的子类。

  • 手动指定扫描的包

在主启动类上使用@ComponeneScan(“com.webcode.spring2boot.handler”)注解

5.@Configuration 注解

/**
* <bean id="message" class="com.webcode.springboot.entities.Message"/>
* @author Lenovo
* 当前这个类必须能够被扫描到
*/
@Configuration
public class MyBean { @Bean//这个方法返回的对象会被加入到IOC容器中
public Message getMessageBean() {
return new Message();
} }

6.扫描Mapper接口的两种方式

  • 方式一: 使用 @MapperScan

@MapperScan("com.webcode.springboot.mappers")标记在主启动类上

  • 方式二: 使用@Mapper

标记在Mapper接口上

@Mapper

public interface EmpMapper{

......................

}

7. 为Mybatis配置实体类包

mybatis:
mapper-locations: classpath*:/mybatis/mappers/*Mapper.xml
type-aliases-package: com.atguigu.springboot.entities

8.SpringBoot环境下配置文件

①总述

SpringBoot环境下常用的配置文件有两种,一种是properties 属性文件,一种是yml文件。二者各有特点,语法也有很大区别,但是最终效果基本一致。

②Properties 文件使用

文件名: application.properties

语法格式:

xxx.xxx.xxx=xxx

server.port = 8181  //用于指定handler访问的端口号

③yml文件的使用

 1.yml简介

yml是YAML(YAML Ain't Markup Language)语言的文件,以数据为中心,比json、xml等更适合做配置文件。

2.yml语法

  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

  • 大小写敏感

3.YAML 支持的三种数据结构

  • 对象: 键值对的集合
  • 数值:一组按次序排列的值
  • 字面量:单个的、不可再分的值

spring:
    application:
        name: apple
        //微服务的名字
    
server:
    port: 8181
    context-path: /banana

用于指定handler访问的路径

主服务器

@SpringBootApplication
@ComponentScan("com.webcode.springBoot")
public class SpringBootHelloWorld { public static void main(String[] args) { SpringApplication.run(SpringBootHelloWorld.class, args);
}

  • application.properties
server.port=8081   #指定访问的端口

  • application.yml

spring:

application :

name : applie

  • entity
public class Message {

	public String getmessage() {
return "this is message";
}
}

  • component
@Configuration
public class MyBean { @Bean
public Message getMessageBean() { return new Message();
}
}

  • handler
@Controller
public class HelloHandler {
@Autowired
private Message message; @ResponseBody
@RequestMapping("/springboot/hello")
public String hello() {
System.out.println(message.getmessage());
String getmessage = message.getmessage();
// return "this is helloworld ss"+ message.getmessage();
return "this is helloworld ss"+ getmessage;
}
}

SpringBoot 及其 基本原理、配置文件(二)的更多相关文章

  1. SpringBoot配置(1) 配置文件application&yml

    SpringBoot配置(1) 配置文件application&yml 一.配置文件 1.1 配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的. application ...

  2. SpringBoot注解把配置文件自动映射到属性和实体类实战

    SpringBoot注解把配置文件自动映射到属性和实体类实战 简介:讲解使用@value注解配置文件自动映射到属性和实体类 1.配置文件加载 方式一 1.Controller上面配置 @Propert ...

  3. springboot深入学习(一)-----springboot核心、配置文件加载、日志配置

    一.@SpringBootApplication @SpringBootApplication是spring boot的核心注解,源码如下: 相当于:@Configuration+@EnableAut ...

  4. springboot快速入门(二)——项目属性配置(日志详解)

    一.概述 application.properties就是springboot的属性配置文件 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring ...

  5. SpringBoot起飞系列-配置文件(三)

    一.SpringBoot中的配置文件 说起到配置文件,大家并不陌生,早在springboot之前,我们用ssh,ssm框架开发的时候整天都要接触配置文件,那时候的配置文件基本上都是.propertie ...

  6. Java开发学习(三十六)----SpringBoot三种配置文件解析

    一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...

  7. Springboot 之 多配置文件

    六.Springboot 之 多配置文件   说明:在程序开发过程中可能会有这样的需求:开发和部署的配置信息可能会不同,以传统的方式就是在配置文件里面写好配置,在部署的时候再去修改这些配置,这样肯定会 ...

  8. SpringBoot入坑-配置文件使用

    经过上一篇的介绍,相信小伙伴们已经按奈不住内心对springboot的向往,本篇我将继续向小伙伴介绍springboot配置文件的配置,已经全局配置参数如何使用,好了下面开始我们今天的内容介绍. 我们 ...

  9. 六、Springboot 之 多配置文件

    说明:在程序开发过程中可能会有这样的需求:开发和部署的配置信息可能会不同,以传统的方式就是在配置文件里面写好配置,在部署的时候再去修改这些配置,这样肯定会有很多问题,比如忘记修改.修改错误等. 而Sp ...

随机推荐

  1. 【Linux基础总结】Shell 基础编程

    Shell 基础编程 重启虚拟机遇到磁盘损坏如何解决 Shell编程中变量的声明.引用及作用域 Shell程序 概述 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就 ...

  2. 微信小程序使用GoEasy实现websocket实时通讯

    不需要下载安装,便可以在微信好友.微信群之间快速的转发,用户只需要扫码或者在微信里点击,就可以立即运行,有着近似APP的用户体验,使得微信小程序成为全民热爱的好东西~ 同时因为微信小程序使用的是Jav ...

  3. Openwrt:逆向永久修改Flash中的Mac地址

    get mtd device cat /proc/mtd dev: size erasesize name mtd0: 00800000 00010000 "ALL" mtd1: ...

  4. 自己动手在Linux系统实现一个everything程序

    大家好,我是良许. 我们知道,在 Windows 下,有一款非常实用的神器,叫作 Everything ,它可以在极短的时间里,搜索出来你所想要的文件/目录,如下图示: Linux 下也有一些类似于 ...

  5. Hexo 博客利用 Nginx 实现中英文切换

    本文记录了对 Hexo 博客进行中英文切换的配置过程,实现同一应用共用模版,任何页面可以切换到另一语言的对应页面,并对未明确语言的访问地址,根据浏览器语言进行自动跳转 实现细则 中英文地址区分 博客中 ...

  6. 瞬间教你学会使用java中list的retainAll方法

    retainAll方法简介 当我们有两个list集合的时候,我们可以使用retainAll方法求得两个list集合的子集.retainAll是Collection接口中提供的一个方法,各个实现类有自己 ...

  7. JMeter基于HTML测试报告的生成

    1第一步: 下载ant,搭建ant环境(path的环境变量) 在path中添加ANT_HOME\bin 验证是否搭建成功Lcmd中输入ant 提示这个说明搭建成功. 第二步: 1.jmerer的目录C ...

  8. 「雕爷学编程」Arduino动手做(31)——ISD1820语音模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  9. MySQL数据库基础操作语句

    SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DM ...

  10. 梳理继承中的has a和is a

    面向对象中的继承问题,研究了一天 ,简单梳理下其中最重要的has a和is a 1.has a 一个类中使用了另一个类中的自定义的类型 这里Student中使用了Book 和 computer2.类型 ...