• SpringBoot入门


    SpringBoot是什么?

      Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。也就是说,它并不是用来替代Spring的解决方案,而是和Spring框架紧密结合用于提升Spring开发者体验的工具。

      同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑  

      注1:敏捷式开发

      注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,

            就像maven整合了所有的jar包,spring boot整合了所有的框架

    使用Idea配置SpringBoot项目

     

    项目启动:

    java源文件夹中的springbootApplication.java是整个项目的启动类

    static:存放的是静态资源的文件

    templetes:存放的项目所需的页面

    application.properties里面存放的是项目的全局配置信息

       启动成功访问界面如下:

     测试代码:

    package com.ssm.springboot.controller;
    
    import com.ssm.springboot.Properties.BaseEntity;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author xyls
     * @blog name & blog address 027@0030
     * @create  2019-11-24 14:57
     */
    @RestController
    public class Mycontroller {
    
        @Value("${user.uname}")
        private String uname;
        @Value("${user.pwd}")
        private String pwd;
        @Autowired
        private BaseEntity baseEntity;
    
        @RequestMapping("/demo1")
        public String demo1() {
            return "hello demo1";
        }
    
        @RequestMapping("/by1")
        public String by1(String name) {
            return name + "say hello springboot";
        }
    
        @RequestMapping("/by2/{name}")
        public String by2(@PathVariable("name") String name) {
            return name + "say hello springboot";
        }
    
        @RequestMapping("/byjson")
        public Map returnJson() {
            Map map = new HashMap();
            map.put("success", true);
            map.put("msg", "恭喜!!!");
            return map;
        }
    
        @RequestMapping("/by3")
        public Map by3() {
            Map map = new HashMap();
            map.put("uname", uname);
            map.put("pwd", pwd);
            return map;
        }
    
        @RequestMapping("/by4")
        public BaseEntity by4() {
            return baseEntity;
        }
    }
    

      

     

     

     

    Springboot配置文件

    内置属性

    自定义属性

    Application.properties中配置

     注意:

     user前面不能有空格,否则报错

    controler对应的Java代码

    package com.ssm.springboot.controller;
    
    import com.ssm.springboot.Properties.BaseEntity;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author xyls
     * @blog name & blog address 027@0030
     * @create  2019-11-24 14:57
     */
    @RestController
    public class Mycontroller {
    
        @Value("${user.uname}")
        private String uname;
        @Value("${user.pwd}")
        private String pwd;
        @RequestMapping("/by3")
        public Map by3() {
            Map map = new HashMap();
            map.put("uname", uname);
            map.put("pwd", pwd);
            return map;
        }
    }
    

      

    属性封装类

    定义属性封装类

    package com.ssm.springboot.Properties;
    
    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    /**
     * @author xyls
     * @blog name & blog address 027@0030
     * @create  2019-11-24 15:57
     */
    @Component
    @Data
    @ConfigurationProperties(prefix = "user")
    public class BaseEntity {
        private String uname;
        private String pwd;
        private Integer age;
        private String sex;
        private String address;
    }
    

      加一个pom依赖:

    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-configuration-processor</artifactId>
    	<optional>true</optional>
    </dependency>
    

      

    添加controler层的Java代码进行测试

    package com.ssm.springboot.controller;
    
    import com.ssm.springboot.Properties.BaseEntity;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author xyls
     * @blog name & blog address 027@0030
     * @create  2019-11-24 14:57
     */
    @RestController
    public class Mycontroller {
        @Autowired
        private BaseEntity baseEntity;
        @RequestMapping("/by4")
        public BaseEntity by4() {
            return baseEntity;
        }
    }
    

      

  • 相关阅读:
    剖析虚幻渲染体系(12) 移动端专题Part 1(UE移动端渲染分析)
    剖析虚幻渲染体系(13) RHI补充篇:现代图形API之奥义与指南
    剖析虚幻渲染体系(12) 移动端专题Part 3(渲染优化)
    浏览器无环境调试
    RPC调用获取参数值
    vscode插件
    前端异常收集和处理
    互联网名词集锦
    今日思考20211104
    备忘项目进展萃取
  • 原文地址:https://www.cnblogs.com/omji0030/p/11924667.html
Copyright © 2020-2023  润新知