• springboot入门


    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源文件夹中的Springboot01Application.java是整个项目的启动类

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

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

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

     

    项目启动成功访问界面如下

     

    测试案例代码

    package com.liuwenwu.springboot01.controller;
    
    import com.liuwenwu.springboot01.entity.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author LWW
     * @site www.lww.com
     * @company
     * @create 2019-11-07 15:58
     *
     * @RestController=controller+responsebody 返json
     *
     */
    
    @RestController
    public class HelloController {
    
        @Value("${user.uname}")
        private String uname;
    
        @Value("${user.pwd}")
        private String pwd;
    
        @Autowired
        private User user;
    
    
        @RequestMapping("/hello1")
        public String hello1(){
            return "hellowprd springboot";
        }
    
    
        @RequestMapping("/hello2")
        public Map hello2(){
            Map map=new HashMap();
            map.put("code",200);
            map.put("msg","springboot 访问成功");
            return map;
        }
    
        @RequestMapping("/hello3")
        public Map hello3(){
            Map map=new HashMap();
            map.put("uname",uname);
            map.put("pwd",pwd);
            return map;
        }
    
    
        @RequestMapping("/hello4")
        public User hello4(){
            return user;
        }
    
    }

    Springboot配置文件

    内置属性

    注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点

    java代码

    @RequestMapping("/hello1")
        public String hello1(){
            return "hellowprd springboot";
        }

    自定义属性

    Application.properties中配置

    user:
      uname: zs
      pwd: 123
      age: 22
      sex: 男

    controler对应的Java代码

        @Value("${user.uname}")
        private String uname;
    
        @Value("${user.pwd}")
        private String pwd;
    
        @Value("${user.age}")
        private String age;
    
        @Value("${user.sex}")
        private String sex;
    
    
      @RequestMapping("/hello3")
        public Map hello3(){
            Map map=new HashMap();
            map.put("uname",uname);
            map.put("pwd",pwd);
            map.put("age",age);
            map.put("sex",sex);
            return map;
        }

    属性封装类

    定义属性封装类

    实体类 user

    package com.liuwenwu.springboot01.entity;
    
    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    /**
     * @author LWW
     * @site www.lww.com
     * @company
     * @create 2019-11-07 16:25
     *
     * @Data Set Get Tostirng
     *
     *
     */
    @ConfigurationProperties(
            prefix = "user"
    )
    @Component
    @Data
    public class User {
    
        private String uname;
        private String pwd;
        private Integer age;
        private String sex;
    
    }

    添加pom依赖,解决报红问题

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

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

        @Autowired
        private User user;
    
     @RequestMapping("/hello4")
        public User hello4(){
            return user;
        }

     

  • 相关阅读:
    Turtlebot3 OpenCR 机器人端刷固件方案(包括ROS1和ROS2)
    TurtleBot3自动驾驶Noetic模拟仿真项目 1.准备工作
    OpenManipulatorX Gazebo仿真(Noetic)
    Ned
    OpenMANIPULATORX Melodic ROS包安装
    TurtleBot3自动驾驶Noetic6.模拟隧道
    Turtlebot3 Noetic ROS包安装
    WEB网站发布服务器IIS报错问题终极解决方案,查到问题点
    理解javascript中的连续赋值
    C# webBrowser.DocumentCompleted 解决之道
  • 原文地址:https://www.cnblogs.com/liuwenwu9527/p/11813312.html
Copyright © 2020-2023  润新知