zoukankan      html  css  js  c++  java
  • SpringBoot 及其 基本原理、配置文件(二)

    个人博客网: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;
    	}
    }
  • 相关阅读:
    Git使用基础介绍
    [SnowflakeIdWorker]雪花Id
    C#[反射 Reflection]
    [.Net Core]Castle DynamicProxy
    [Vue]Vuex
    [Vue] 导航守卫
    [Vue] $route和$router的区别
    Unexpected end of JSON input while parsing near '..."
    推荐一款截图的工具(Snip)
    [Vue] 计算属性Computed与函数function的异同
  • 原文地址:https://www.cnblogs.com/wushaopei/p/11979344.html
Copyright © 2011-2022 走看看