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项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具有springmvc的部分配置
在这里插入图片描述
finish后导入需要的jar包,这里需要时间。。。
在这里插入图片描述
自带启动类,这里进行运行
在这里插入图片描述

目录结构介绍

java源文件夹中的Springboot01Application.java是整个项目的启动类
static:存放的是静态资源的文件
templetes:存放的项目所需的页面
application.properties里面存放的是项目的全局配置信息
项目启动成功访问界面如下
在这里插入图片描述

package com.javachz.springboot01.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 52hz
 * @site www.javachz.com
 * @company xxx公司
 * @create  2019-12-26 20:21
 */
@RestController
@RequestMapping("/hello")
public class HelloController {

    @RequestMapping("/say1")
    public String say1(){
        return "springboot 您好";
    }

    @RequestMapping("/say2")
    public Map say2(){
        Map map=new HashMap();
        map.put("code",1);
        map.put("msg","json数据处理成功");
        return map;
    }

}

测试结果
在这里插入图片描述
Springboot配置文件
内置属性
在这里插入图片描述
注意:实际项目开发的时候Port=80,Context-path=/,以下配置只为讲解相关知识点
在这里插入图片描述
在这里插入图片描述

package com.javachz.springboot01.controller;

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 52hz
 * @site www.javachz.com
 * @company xxx公司
 * @create  2019-12-26 20:21
 */
@RestController
@RequestMapping("/hello")
public class HelloController {
   @Value("${user.uname}")
    private String uname;

   @Value("${user.pwd}")
   private String pwd;

    @RequestMapping("/say3")
    public Map say3(){
        Map map=new HashMap();
        map.put("uname",uname);
        map.put("pwd",pwd);
        return map;
    }

}

在这里插入图片描述
自定义属性
Application.properties中配置

server.port=80
server.servlet.context-path=/

user.uname=chz
user.pwd=123

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8
mysql.username=mybatis_ssm
mysql.password=xiaoli

属性封装类
定义属性封装类

package com.javachz.springboot01.entity;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author 52hz
 * @site www.javachz.com
 * @company xxx公司
 * @create  2019-12-26 21:10
 */
@Component
@ConfigurationProperties(prefix = "mysql")
@Data
public class MysqlEntity {

    private String driver;

    private String url;

    private String username;

    private  String password;
}

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

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

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

package com.javachz.springboot01.controller;

import com.javachz.springboot01.entity.MysqlEntity;
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 52hz
 * @site www.javachz.com
 * @company xxx公司
 * @create  2019-12-26 20:21
 */
@RestController
@RequestMapping("/hello")
public class HelloController {

    @Autowired
    private MysqlEntity mysqlEntity;

    @RequestMapping("/say4")
    public MysqlEntity say4(){
        return mysqlEntity;
    }

}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值