Springboot基础配置

一.springboot概述

  1. Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的创建、运行、调试、部署等。使用Spring Boot可以做到专注于Spring应用的开发,而无需过多关注XML的配置。Spring Boot使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用Spring Boot可以不用或者只需要很少的Spring配置就可以让企业项目快速运行起来。

  2. Spring Boot是开发者和Spring 本身框架的中间层,帮助开发者统筹管理应用的配置,提供基于实际开发中常见配置的默认处理(即习惯优于配置),简化应用的开发,简化应用的运维;总的来说,其目的Spring Boot就是为了对Java web 的开发进行“简化”和加“快”速度,简化开发过程中引入或启动相关Spring 功能的配置。这样带来的好处就是降低开发人员对于框架的关注点,可以把更多的精力放在自己的业务代码上。同时随着微服务概念的推广和实践,Spring Boot的精简理念又使其成为Java微服务开发的不二之选,也可以说,Spring Boot其实就是为了微服务而生的Java web框架。

二. springboot的核心功能

可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。

内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形式部署项目。

简化的Maven配置:Spring提供推荐的基础 POM 文件来简化Maven 配置。

自动配置Spring:Spring Boot会根据项目依赖来自动配置Spring 框架,极大地减少项目要使用的配置。

提供生产就绪型功能:提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。

无代码生成和xml配置:Spring Boot不生成代码。完全不需要任何xml配置即可实现Spring的所有配置。

三. springboot的相关好处

  1. 以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生了,SpringBoot也就是用来做这个的。

  2. SpringBoot是一个快速开发的框架,能过快速整合第三方框架,他是如何快速整合的呢?其实他是的基本原来是Maven依赖关系,Maven的集成,完全采用注解化,简化XML配置,内嵌HTTP服务器(Tomcate,jetty),默认嵌入Tomcate,最终以Java应用程序进行执行。

四. 如何快速使用idea开发工具来配置一个MAVEN项目(体验)

https://start.aliyun.com

  1. 配置pom.xml文件添加相关依赖JAR包(父类配置2.X为了后面的SpringCloud)

    <!-- Inherit defaults from Spring Boot -->
    <!--所有的springboot项目都需要继承父类-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
    </parent>
    ​
    <!-- Add typical dependencies for a web application -->
    <!--web项目的启动器-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <!--配置测试依赖包和对应的junit测试单元-->
         <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
  2. 创建对应的控制器TestController和对应的里面的代码

  3. @RestController
    @RequestMapping("/")
    public class TestController {
        @RequestMapping("/index")
        public String index(){
            return "hello Springboot";
        }
    }
  4. 编写对应的引导类注意,要和controller在同一个级别目录下

  5. @SpringBootApplication
    public class SpringbootTestApplication {
        public static void main(String[] args) {
            SpringApplication.run(SpringbootTestApplication.class,args);
        }
    }
  6. 启动成功后,控制台会进行相应的信息的输出以及对应的端口号的显示http://localhost:8080/index

  7. 在resources资源文件夹下新建一个file application.properties文件

  8. 在里面进行相关的配置项目名字和端口号的配置

  9. server.port=9999
    server.servlet.context-path=/springboot
  10. http://localhost:9999/springboot/index

  11. 如果是yml文件application.yml

  12. server:
      port: 9999
      servlet:
        context-path: /springboot

五.yml(yml文件介绍)

一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言。适应场景 脚本语言:由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用 序列化: YAML是由宿主语言数据类型直转,的比较适合做序列化。 配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。 语言优点 YAML易于人们阅读。 YAML数据在编程语言之间是可移植的。 YAML匹配敏捷语言的本机数据结构。 YAML具有一致的模型来支持通用工具。 YAML支持单程处理。 YAML具有表现力和可扩展性。 YAML易于实现和使用。 YAML 语法 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不能使用 Tab,各个系统 Tab对应的 Space 数目可能不同,导致层次混乱) ‘#’表示注释,只能单行注释,从#开始处到行尾 破折号后面跟一个空格(a dash and space)表示列表 用冒号和空格表示键值对 key: value 简单数据(scalars,标量数据)可以不使用引号括起来,包括字符串数据。用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用C风格的转义字符 Sequence of Scalars 简单数据列表

  1. 利用yml文件添加对应的数据进行解析

  2. person:
      username: admin
      password: 123456
          #配置数组集合
    city:
      - beijing
      - tianjing
      - chongqing
    ​
    #country: [beijing,wuhan]
    ​
    ​
    ​
    person:
      username: admin
      password: 123456
    food: kfc
    ​
    #配置数组集合(对象)
    student:
      - name: tom
        age: 12
        addr: beijing
      - name: jim
        age: 23
        addr: tianjing
    ​
    teacher: [{name: jim,age: 13,addr: beijing},{name: kkk,age: 12,addr: wuhan}]
    ​
    ​
    map:
      key1: value1
      key2: value2
    person:
      name: admin
      age: 12
      addr: wuhan
  3. <!--添加执行器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-configuration-processor</artifactId>
        <optional>true</optional>
    </dependency>
  4. 单一解析yml里面的一个key文件

    package com.chinasoft.springbootTest.controller;
    ​
    ​
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.autoconfigure.jdbc.JdbcProperties;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    ​
    @RestController
    @RequestMapping("/")
    ​
    public class TestController {
    ​
        private static final Logger log= LoggerFactory.getLogger(TestController.class);
     
        @Value("${food}")
        private String food;
    ​
    ​
    ​
    ​
        @RequestMapping("/index")
        public String index(){
           // log.info(jdbc.getUsername());
            //log.info(jdbc.getPassword());
            return "hello Springboot"+food;
        }
    ​
        public String getFood() {
            return food;
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值