Spring Boot入门教程,进军微服务从这出发

起步依赖本质上就是一个pom,(项目对象模型),其中包含了某个框架/功能运行所需的基础依赖信息,当我们需要某个框架/功能时加入该框架/功能的依赖即可

  1. 自动配置

Spring Boot会在启动时完成对各个框架的自动配置,考虑了众多因素,最终决定Spring配置应该用哪个,不该用哪个, 该过程是Spring自动完成的;

  1. 内置tomcat 或jetty等servlet容器

  2. 没有代码生成,不需要XML配置

  3. 尽可能自动配置Spring容器中的bean;

入门程序

========

案例


  • 创建基础的maven过程

  • 在pom中继承SpringBoot的starter,这决定了该工程是一个Spring boot工程

  • 注意这不是依赖,而是继承关系,就像一个class一样,通过继承拥有父类的功能

org.springframework.boot

spring-boot-starter-parent

2.2.4.RELEASE

  • 在pom中添加web的starter依赖,告诉maven,web应用需要用到的依赖有哪些,只需要加进来就可以,Spring boot 将会自动完成响应的配置

org.springframework.boot

spring-boot-starter-web

  • 编写Spring boot引导类,为spring boot提供一个启动入口

//引导类不允许放在根目录下

@SpringBootApplication

public class Application {

public static void main(String[] args) {

//启动Spring boot 需要指定引导类

SpringApplication.run(Application.class);

}

}

  • 创建一个用于测试的controller

@RestController

public class HelloController {

@RequestMapping(“/hello/{name}”)

public String helloTest(@PathVariable String name){

return "hello spring : "+name;

}

}

此时工程目录如下:

image-20200314174154671

  1. 运行主函数,启动应用

image-20200314174310200

  1. 浏览器访问http://localhost:8080/hello/aaa,tomcat默认运行在808端口,可通过控制台查看

注意:引导类不能放在根目录下;

通过maven插件来运行

maven可以帮助我们在运行前检查依赖关系

  1. 添加插件

org.springframework.boot

spring-boot-maven-plugin

  1. maven命令

spring-boot:run

整合mybatis

=============

添加了starter-web起步依赖后,工程就完成了Spring 和SpringMVC相关依赖和整合配置,我们已经可以处理客户端的请求并返回响应了,但是我们的数据是存储在数据库的,需要整合mybatis到项目中

添加starter和JDBC驱动

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.1.1

mysql

mysql-connector-java

准备数据

CREATE TABLE user (

id int(11) NOT NULL AUTO_INCREMENT,

username char(10) DEFAULT NULL,

password char(12) DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

INSERT INTO user VALUES (1,‘admin’,‘123321’),(2,‘jerry’,‘123’),(3,‘22’,‘222’);

创建实体Bean

public class User {

private Integer id;

private String username;

private String password;

set/get

}

创建Mapper接口

package com.yyh.mapper;

import com.yyh.pojo.User;

import java.util.List;

@Mapper //mybatis 能识别带有该注解的mapper

public interface UserMapper {

public List selectAllUser();

}

创建Mapper映射文件

<?xml version="1.0" encoding="utf-8" ?>

select * from user

测试控制器

@RestController

public class UserController {

@Autowired

private UserMapper userMapper;

@GetMapping(“/user/list”)

@ResponseBody

public List getAllUsers(){

return userMapper.selectAllUser();

}

}

创建配置文件

在resources下创建名称为application.properties的文件,内容如下,另外spring还支持yml格式的配置文件

#DB Configuration:

spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/boot?

serverTimezone=Asia/Shanghai

spring.datasource.username=root

spring.datasource.password=admin

#spring集成Mybatis环境

#pojo别名扫描包 mybatis.type-aliases-package=com.yyh.pojo

指定扫描mapper所在的包

若没有使用@Mapper注解需要在启动类中添加扫描包信息

@SpringBootApplication

@MapperScan(“com.yyh.mapper”)

public class Application {

public static void main(String[] args) {

SpringApplication.run(Application.class,args);

}

}

maven编译设置

默认情况下,maven在打包时会将java目下的*.java 以及resource下的配置文件诸如(*.xml,*.properties)等编译到target中,这个两个文件夹都属于classpath,一些人为了方便查找可能会将mapper文件和接口文件一起放在java目录下,但是maven并不会将java目录下的xml进行编译的,这时可以在pom中指定要编译的目录信息

src/main/java

**/*.properties

**/*.xml

false

src/main/resources

**/.

false

使用thymeleaf模板引擎

===================

在这之前我们一直在使用jsp来作为视图层,但是jsp必须依赖servlet容器,浏览器无法直接渲染jsp文件每次开发调试想要看到最新的效果都必须重新编译jsp,所以Spring boot 并不推荐我们使用jsp,视图层可以使用模板引擎,目前主流的有thymeleaf,和freemaker,官方推荐thymeleaf;

Spring boot 提供了thymeleaf的默认配置,所以在spring boot 中使用thymeleaf非常方便,Spring boot 还设置了thymeleaf的默认视图解析器,可以像操作jsp一样来操作Thymeleaf。Controller层几乎没有任何区别,就是在模板语法上有区别。

需要强调的是:模板依然是在后端完成渲染(前后端不分离),运行流程和jsp是一样的,关于thymeleaf详细用法不是本章的重点,参见官网。

添加Thymeleaf的依赖

org.springframework.boot

spring-boot-starter-thymeleaf

编写Thymeleaf模板

注意:模板必须放到src/main/resources/templates目录下。

user list 用户列表:
id username password

Service

@Service

public class UserServiceImpl implements UserService {

@Autowired

private UserMapper mapper;

public List getAall(){
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档

祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!

感谢大家的支持!!

image.png

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
569935)]

[外链图片转存中…(img-UYYop6PX-1713296569935)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

这份清华大牛整理的进大厂必备的redis视频、面试题和技术文档

祝大家早日进入大厂,拿到满意的薪资和职级~~~加油!!

感谢大家的支持!!

[外链图片转存中…(img-7AY0xNsb-1713296569936)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值