Java学习之Spring Boot入门

Java学习之SpringBoot入门0x00前言学习完ssm的整合后,开始来学习SpringBoot,在前面学习Spring的时候会发现使用Spring开发中配置Spring的环境会非常的

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

Java学习之Spring Boot入门

0x00 前言

学习完ssm的整合后,开始来学习Spring Boot,在前面学习Spring的时候会发现使用Spring开发中配置Spring的环境会非常的繁琐,而Spring boot的出现就解决了这个问题。

0x01 Spring Boot 概述

Spring Boot 概述概述

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者

Spring Boot 特点

1. 可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
2. 内嵌Tomcat或Jetty等Servlet容器;
3. 提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
4. 尽可能自动配置Spring容器;
5. 提供准备好的特性,如指标、健康检查和外部化配置;
6. 绝对没有代码生成,不需要XML配置。

0x02 Spring Boot 入门

导入spring boot起步依赖坐标。

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
</parent>

导入web依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

SpringBoot要集成SpringMVC进行Controller的开发,要导入web依赖。

Spring Boot 引导类

Spring Boot 要通过Spring Boot的引导类,才能启动。

引导类代码:

@SpringBootApplication
//注解标注当前类是引导类
public class main {
    public static void main(String[] args) {
        SpringApplication.run(main.class);
    }
}

访问8080端口就可以看到服务器已经启动了。

编写Controller


package com.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class quickController {
    @RequestMapping("/quick")
    @ResponseBody
    public String quick(){
        return "hello springboot";
    }
}

0x03 Spring Boot配置

SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件。

propertie方式配置

我们在Resources目录下创建application.properties文件。

application.properties文件:

#配置服务器端口
server.port=8081
#配置当前应用名称
server.servlet.context-path=/demo1

yml方式配置

yml文件概述:


YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,
YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。

YML文件的扩展名可以使用.yml或者.yaml。

yml配置文件语法:

name: xiaoming

冒号后面必须加一个空格

配置对象数据

方式一:

person:
  name: xiaoming
  age: 18

这里需要注意空格对其。

方式二:

person: {name: xiaoming,age: 18}

配置List 数据

方式一:

person: 
  - xiaoming
  - kfc
  - nc

方式二:

person: [xiaoming,kfc,nc]

配置集合(对象类型)

方式一:

student:
  - name: zhangsan
    age: 18
    score: 100
  - name: lisi
    age: 28
    score: 88
  - name: wangwu
    age: 38
    score: 90

方式二:

person: [{name: tom,age: 18,addr: beijing},{name: xiaoming,age: 19,addr: beijing}]

0x04 配置文件映射

Value注解获取值

@Controller
public class QuickStartController {

    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age;


    @RequestMapping("/quick")
    @ResponseBody
    public String quick(){
        return "springboot 访问成功! name="+name+",age="+age;
    }

}

ConfigurationProperties注解获取值

@Controller
@ConfigurationProperties(prefix = "person")
public class QuickStartController {

    private String name;
    private Integer age;

    @RequestMapping("/quick")
    @ResponseBody
    public String quick(){
        return "springboot 访问成功! name="+name+",age="+age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以。

0x05 Spring Boot 整合Mybatis

需要整合第一步肯定是要导入起步依赖和数据库驱动的坐标。

  <!--mybatis起步依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
<!--       数据库驱动坐标-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

配置完依赖后,需要在application.properties里面去配置数据库的连接信息

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root

#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.test.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:com/test/dao/*Mapper.xml

编写一个实体类:

package com.test.domain;

public class User {
    private String name;
    private int id ;
    private String gender;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }
}

编写一个dao接口:


@Mapper
public interface UserMapper {
    List<User> query();
}

@Mapper标记该类是一个mybatis的mapper接口,可以被spring boot自动扫描到spring上下文中

配置Mapper映射文件:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.test.dao.UserMapper">
    <select id="query" resultType="com.test.domain.User">
        select * from user
    </select>
</mapper>

最后编写controller

public class mybatis_controller {
    @Autowired
    private UserMapper userMapper;

    @RequestMapping("/u")
    @ResponseBody
    public List<User> queryUser(){
        List<User> users = userMapper.query();
        return users;
    }

}

0x06 结尾

和Spring 的配置相比Spring Boot的会简单不少。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119924.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • sqrt mysql_MySQL中的SQRT函数的使用方法「建议收藏」

    sqrt mysql_MySQL中的SQRT函数的使用方法「建议收藏」推荐:MySQL中的SUM函数使用教程这篇文章主要介绍了MySQL中的SUM函数使用教程,是MySQL入门学习中的基础知识,需要的朋友可以参考下MySQL的SUM函数是用来找出记录中各种的字段的总和。要了解SUM函数考虑EMPLOYEE_TBL表具有以下记录:?现在,假设根据上面的表想来计算所有的dialy_typing_pages的总数这篇文章主要介绍了详解MySQL中的SQRT函数的使…

  • 排列组合的一些公式及推导(非常详细易懂)[通俗易懂]

    排列组合的一些公式及推导(非常详细易懂)[通俗易懂]绪论:加法原理、乘法原理分类计数原理:做一件事,有$n$类办法,在第$1$类办法中有$m_1$种不同的方法,在第$2$类办法中有$m_2$种不同的方法,…,在第$n$类办法中有$m_n$种不同的方法

  • (转载)LaTeX实战经验:从零开始快速入门

    (转载)LaTeX实战经验:从零开始快速入门对于理工科的学生来说,尤其是从研究生阶段开始,LaTeX应该会是日常中必不可少的写作工具。毕竟要写什么公式的话,不用LaTeX实在是不知道要怎么办。况且要是投稍微专业一点的论文,LaTeX是必须的,没人会接收Word文件。此篇为写给一些想快速入门LaTeX的朋友,至于为什么要叫从零开始,因为我就是从零开始学会的LaTeX。如果你不是那么“聪慧”,LaTeX可能的学习曲线会显得比较曲折。但熟能生…

  • office 365 e5开发者_百度网盘5t不够用怎么扩容

    office 365 e5开发者_百度网盘5t不够用怎么扩容Microsoft365E5开发者扩容到5T1.进入网址https://admin.microsoft.com/Adminportal/Home?source=applauncher#/users找到活跃用户2.找到你的账户进入管理产品许可证3.点击OneDrive,再点击编辑4.点击修改为此用户最大空间…

  • Java猿社区—ShardingSphere-4.0.1之实现读写分离[通俗易懂]

    Java猿社区—ShardingSphere-4.0.1之实现读写分离[通俗易懂]Java猿社区—ShardingSphere-4.0.1之实现读写分离文章目录Java猿社区—ShardingSphere-4.0.1之实现读写分离技术体系背景ShardingSphere介绍注意事项ShardingShpere支持的功能数据分片分布式事务技术准备mysql安装配置POM配置读写分离——一主双从mysql配置环境sql脚本配置读写分离application.propertiesM…

  • win10 系统WLAN不见了,win10找不到wifi选项的解决办法

    win10 系统WLAN不见了,win10找不到wifi选项的解决办法问题如下图所示:可以看到没有WLAN设置的选项而且是无网络的状态解决办法:两步就好了第一步,以管理员身份运行CMD点击Cortana输入cmd鼠标右键命令提示符以管理员身份运行还有一种办法就是进入C:\Windows\System32还是右键以管理员身份运行两种方法都可以第二步:使用netshwinsockreset…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号