Spring Boot小白成长之路
为新手准备的Spring Boot入门教程笔记
笼中小夜莺
春招已上岸,梦想是环游世界。
展开
-
Spring Boot启动显示项目信息
@SpringBootApplicationpublic class ErpApplication{ public static void main(String[] args) throws IOException { ConfigurableApplicationContext context = SpringApplication.run(ErpApplication.class, args); Environment environment = contex原创 2021-09-03 14:22:20 · 245 阅读 · 0 评论 -
SpringBoot+Vue+WebSocket打造在线聊天室
这只是一个小雏形,通过websocket实现了前后端的即时通信,后续会做一个精美的在线聊天室,届时欢迎大家指教聊天室架构图@OnError改成@OnClose聊天室开发文档# 客户端发消息到服务器 {"fromName":"张三","toName":"李四","message":"你好"}# 服务端到客户端 1、系统轮播消息 {"isSystem":true,"fromName":null,"toName":null,"message":["李四","王五"]} 2、发送某人的消息发送给原创 2021-02-20 23:28:07 · 814 阅读 · 0 评论 -
Springboot个人踩坑合集
写入mysql中文变成了???yml文件中,配置url后面加上&useUnicode=true&characterEncoding=UTF-8原创 2020-12-03 16:52:19 · 132 阅读 · 0 评论 -
Spring Boot企业微信点餐系统学习心得和学习笔记
Spring Boot企业微信点餐系统学习心得项目地址https://github.com/coder-zrl/sell/创新之处个人使用mybatis作为数据库,并且手写了一个Page类登陆验证跳转和下单实时提醒使用了websocket推送商家的后台管理系统很全面做了详细的异常处理创建了许多枚举类型不足之处前端有些潦草用户点餐界面还没做用户查询订单还没做,但是api已经实现了session没仔细搞,readis没仔细搞,分布式没仔细搞,因为时间不够了,要复习啦原创 2020-12-23 21:38:32 · 971 阅读 · 1 评论 -
jsp,taglib,velocity,freemarker等都过时了吗?为什么使用thymeleaf?
在java领域,表现层技术主要有三bai种:jsp、freemarker、velocity,各有优缺点jspjsp是大家最熟悉的技术优点:功能强大,可以写java代码支持jsp标签(jsp tag)支持表达式语言(el)官方标准,用户群广,丰富的第三方jsp标签库性能良好。jsp编译成class文件执行,有很好的性能表现缺点:jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。velocityvelocity是较早出现的用于代替jsp的原创 2020-12-18 12:57:45 · 7343 阅读 · 0 评论 -
Springboot常用配置和依赖
连接mysqlyml格式文件spring: datasource: driver-class-name: com.mysql.jdbc.Driver username: root password: 123456 url: jdbc:mysql://localhost/sell?characterEncoding=utf-8&useSSL=false jpa: show-sql: true原创 2020-12-03 00:51:14 · 483 阅读 · 0 评论 -
自写的在springboot向前端传数据时候的Page类
javapackage com.example.sell.page;import com.example.sell.dto.OrderDTO;import lombok.Data;import java.util.List;/** * @author zrl * @date 2020-12-19 17:44 */@Datapublic class OrderDTOPage { Integer totalPage; Integer pageSize; List原创 2020-12-20 17:51:43 · 507 阅读 · 0 评论 -
解决Spring Boot跨域问题
什么是跨域问题呢首先什么是跨域问题呢?为什么会产生呢?众所周知,Spring Boot项目默认是运行在8080端口的,而Vue项目默认也是运行在8080端口的,如果是前后端分离的项目,就必须要对某个项目的运行端口号进行修改,如果运行在8081端口的Vue项目去访问运行在8080端口的Spring Boot项目的时候就会报错,如下在这里介绍两种常用的,简单的解决方案,除此之外还有接口编程的方法、过滤器实现的方法,有兴趣的可以了解一下哈方案一:注解驱动Spring 4.2后提供了@CrossOrig原创 2021-02-03 19:14:35 · 295 阅读 · 0 评论 -
Spring Boot+Vue实战:快速搭建个人博客
描述前后端分离,前端使用Vue,后端使用SpringBoot,适合作为前后端联调的新手项目。个人代码地址:https://github.com/coder-zrl/vueblog/收获与不足收获学习到了简单的vue知识了解到了前后端分离最后合并的过程增加了自身的编程能力使用idea进行vue开发了解到了数据库自动生成代码的步骤知道了对实体类进行序列化的操作不足没有做身份验证,即没整合shior框架,因为12号考线代,还没复习,寒假会完善markdown详情界面渲染的不好看,甚原创 2021-01-10 19:21:10 · 807 阅读 · 0 评论 -
微信授权获取用户的openid
有了微信授权才能获取openid,有了openid才能进行后面的操作,对于某个小程序或者公众号,用户的openid是唯一的获取openid的两种方式手工方式利用第三方SDK注册使用内网穿透工具natapp内网穿透工具就是一个映射,他能将二级域名与本地ip端口耗对应起来,即你访问任何一个都ok,用于微信开发调试很方便去https://natapp.cn/ 购买隧道,推荐VIP_1型,然后注册二级域名,注意要购买支持微信开发的域名,填写到接口测试号的网页授权获取用户基本信息中,配置隧道的二级域名原创 2020-12-10 02:22:04 · 2074 阅读 · 0 评论 -
thymeleaf学习笔记
介绍官方网址:https://www.thymeleaf.org/官方文档地址:https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.pdf导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId>原创 2020-12-18 13:24:21 · 244 阅读 · 1 评论 -
SpringBoot整合mybatis数据库字段与Java类文件属性不对应的两种解决方法
众所周知,java中变量的命名使用的是驼峰命名法,但是数据库字段要用下划线分隔。因为这个问题,我的代码返回对象一直是null。经过将近8小时的奋斗,我终于找到了解决方法,什么更改配置文件,什么写xml都是laji,简单操作如下操作。新建一个java文件,写入以下代码,建议放在config文件夹下,起名叫MyBatisConfig,开启驼峰对应规则import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;import or原创 2020-12-08 02:20:52 · 1757 阅读 · 0 评论 -
@RequestMapping的路径问题
众所周知,@RequestMapping可以进行模糊匹配,现在场景如下,我们需要一个全局的接口,应该是如下格式@RequestMapping("/**")public String demo(HttpServletRequest request) {}但是呢,我们又需要写一个专门做xxx服务的接口@RequestMapping("/heart")public void heart() {}这时候就有疑惑了,当/heart请求来的时候是进入哪个方法呢?答案是进入heart方法...原创 2021-08-09 17:38:06 · 1093 阅读 · 0 评论 -
使用renren-fast快速开发
介绍gitee地址:https://gitee.com/renrenio/renren-fast开发文档:https://www.renren.io/guiderenren-fast是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库前端地址:https://gitee.com/renrenio/renren-fast-vue代码生成器:https://gitee.com/ren原创 2021-07-10 12:26:18 · 1464 阅读 · 0 评论 -
「Spring Boot整合一切」:Spring Boot整合Lomback
介绍在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。官方使用文档:https://projectlombok.org/features/allIDEA中的安装打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功引入依赖在项目中添加Lombok依赖jar,原创 2021-03-20 17:12:18 · 372 阅读 · 0 评论 -
【Spring Boot教程】(二十):异常处理
@ControllerAdvice+@ExceptionHandler的形式:创建一个类,作为Controller的全局异常,类通过@ControllerAdvice修饰,方法通过@ExceptionHandler修饰//vaule可以是多个异常,用数组分开@ExceptionHandler(value={xxxx.class})public ModelAndView xxxxHandler(Exception e) { return new ModelAndView("error.html",m原创 2021-03-18 01:31:39 · 83 阅读 · 0 评论 -
【Spring Boot教程】(十九):Spring Boot中的拦截器开发
如果在每个控制器(controller)方法中都使用session.grtAttribute("user")会显得十分冗余,我们可以使用拦截器,请求先经过拦截器,通过了然后再进入控制器。作用:通过拦截器执行通用代码逻辑,以减少控制器中代码冗余特点:只能拦截控制器相关请求,不能拦截静态资源和页面相关情况(css,js…)请求发送经过拦截器,响应回来同样经过拦截器拦截器可以中断用户请求拦截器可以针对性拦截某些控制器请求拦截器开发流程:# 1、类(xxxInterceptor) impleme原创 2021-03-17 12:40:49 · 159 阅读 · 0 评论 -
【Spring Boot教程】(十八):Spring Boot实现单文件下载和多文件下载
下载界面:<a href="../file/download?fileName=text.txt">text.txt</a>控制器1——不直接下载文件而是点一下展示文件:@GetMapping("download")public void download(String fileName, HttpServletResponse response) throws Exception { String realPath = ResourceUtils.getURL("原创 2021-03-17 12:40:30 · 348 阅读 · 0 评论 -
【Spring Boot教程】(十七):Spring Boot实现文件上传
上传界面:<form method="post" action="路径" enctype="multipart/form-data"> <input type="file" name="file"><br> <input type="submit" value="提交"></form><!--提交方式必须为postenctype属性必须为multipart/form-data后台方法接收MultipartFile变原创 2021-03-17 12:40:03 · 382 阅读 · 0 评论 -
【Spring Boot教程】(十六):Spring Boot日志的使用
logback、log4j啥的使用起来挺麻烦的,直接使用插件吧,需要安装lombok插件并引入lombok依赖日志级别:debug < info < warn < error < off控制台输出默认是info级别,可以在配置文件修改当前包的日志级别import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api.Test;@Slf4jclass TestControllerTest { @Test原创 2021-03-17 12:39:42 · 136 阅读 · 0 评论 -
【Spring Boot教程】(十五):开启Spring Boot的devtools热部署
热部署就是在不重启Spring Boot项目的情况下,让我们的更改生效。这样在启动项目的时候会创建两个类加载器,dev-tools是通过两个类加载器实现热部署的,更改后会由空闲的进行编译,然后会进行类加载器的切换,空闲的替换正在工作的。甚至不用点小锤子依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools<原创 2021-03-17 12:39:21 · 247 阅读 · 0 评论 -
【Spring Boot教程】(十四):Spring Boot接收从前端传来数据
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。url形式:http://localhost/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的参数需要和Controller方法中的入参名称一致。/*** 直接把表单的参数写在Controller相应的方法的形参中* @param username* @param password*/@RequestMap原创 2021-03-14 23:32:32 · 5322 阅读 · 0 评论 -
【Spring Boot教程】(十三):Spring Boot从后端传值给前端
前端直接使用Thymeleaf语法即可使用ModelAndView+MapModelAndView是用来返回页面的,防止添加了@RestController注解@GetMapping("/seller/logout")public ModelAndView logout(Map<String,Object> map){ map.put("msg","登出!"); map.put("url","/sell"); return new ModelAndView("co原创 2021-03-14 23:32:12 · 1462 阅读 · 0 评论 -
【Spring Boot教程】(十二):thymeleaf常见问题
引入js等静态资源文件<script src="./../static/layui/layui.all.js" th:src="@{/layui/layui.all.js}"></script>th:src在springboot中默认就是static文件夹下,所以不用在./…/js引用thymeleaf值注:script标签中 th:inline 一定不能少,通常在取值的前后会加上不同的注释<script th:inline="javascript">原创 2021-03-14 23:31:31 · 174 阅读 · 0 评论 -
【Spring Boot教程】(十一):thymeleaf语法
页面加入命名空间<html lang="en" xmlns:th="http://www.thymeleaf.org">表达式:${}用的最多也是最强大的表达式,获取变量值;底层是OGNL;Selection Variable Expressions: *{…}:选择表达式:和${}在功能上是一样;Message Expressions: #{…}:获取国际化内容Link URL Expressions: @{…}:定义URL@{/order/process(execId=$原创 2021-03-13 02:29:11 · 160 阅读 · 0 评论 -
【Spring Boot教程】(十):Spring Boot集成thymeleaf模板引擎
Spring Boot推荐使用thymeleaf模板,因为thymeleaf模板使用的是html,可以直接运行,同时因为不需要转换提高了效率。同时为了spring做了使用方法,很方便。注意控制器的@Controller注解一定要注意不要写成@RestController,除此之外,直接返回页面时不要加/,例如index不要写成/index,否则打包为jar包后会无法找到页面依赖:<dependency> <groupId>org.springframework.boot&原创 2021-03-13 02:28:44 · 346 阅读 · 0 评论 -
【Spring Boot教程】(九):从配置文件获取变量值(用的不多)
配置文件添加了:name=zrlbir=2021/2/16如果想在对象中取到这个值,需要使用@Value("${name}")private String name@Value("${bir}")private Date biryml数据结构格式:数组:直接用逗号分隔,例如aa,bb,cc,注入时标明数组格式列表:直接用逗号分隔,例如aa,bb,cc,注入时标明列表格式Map:@Value取值格式是#{${mapname}}properties格式是mapname={k原创 2021-03-13 02:28:17 · 516 阅读 · 0 评论 -
【Spring Boot教程】(八):配置文件的拆分
情景是这样的,在不同环境下的配置不同,例如本地和上线的配置就不一样,改来改去的很麻烦,我们可以写几个配置文件将配置进行拆分写几个配置文件,格式为application-dev/prod.yml(测试环境/成产环境)在application.yml文件中添加一行spring.profiles.active=dev进行激活环境配置注:如果不是application-dev.yml格式的话,在激活环境的时候需要写全名...原创 2021-03-11 18:41:45 · 445 阅读 · 0 评论 -
【Spring Boot教程】(七):自定义项目启动的彩蛋
打开网址http://patorjk.com/software/taag/将字符转为字符画拷贝生成的字符画到名为banner.txt文件中将banner.txt拷贝到项目的resources目录中再启动程序${AnsiColor.BRIGHT_YELLOW} //////////////////////////////////////////////////////////////////// // _ooOoo_ ..原创 2021-03-11 18:41:03 · 117 阅读 · 0 评论 -
【Spring Boot教程】(六):配置类与xml配置的选择
配置是进行工厂设计模式,即对对象进行加工后再返回,看到的名字一样,但是已经执行了一步程序了官方推荐使用配置类(Java config):添加@Configuration注解,将配置类自动注入,类似于@Component@Import不推荐使用,因为这个必须在要用的位置写,即哪用在哪写,但是@Configuration是写一次到处用如果是xml格式:编写xml文件@ImportResource添加在对应的类上...原创 2021-03-11 18:40:33 · 328 阅读 · 0 评论 -
【Spring Boot教程】(五):Spring Boot开发规范
标准开发方式目录:com +- example +- myapplication +- Application.java---------------->启动类 | +- customer------------------------>管理客户 | +- Customer.java | +- CustomerController.java | +- Custom原创 2021-03-11 18:39:58 · 338 阅读 · 0 评论 -
【Spring Boot教程】(四):staters介绍
staters可以方便地管理相关依赖,例如springboot-stater-web即可得到web应用启动的代码全部staters请参看官网https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter原创 2021-03-11 18:39:28 · 648 阅读 · 0 评论 -
【Spring Boot教程】(三):一些常用的yml配置
server: port: 8080 # 修改端口,别忘了前面的空格 servlet: context-path: /xxx # 指定项目名,即访问的时候要在8080后面加上/xxx,注意以斜杠开头原创 2021-03-11 18:38:47 · 241 阅读 · 0 评论 -
【Spring Boot教程】(二):运行Spring Boot项目及相关注解介绍
添加一些代码进入到你的xxxApplicaiton.java文件,填充相关注解和home方法import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.*;@RestController//表示这是一个控制器类@SpringB原创 2021-03-11 18:36:58 · 353 阅读 · 1 评论 -
【Spring Boot教程】(一):创建第一个Spring Boot项目
操作流程File->New->Project->Spring Initializr->Next(如果显示超时就选择Custom并填写我写的阿里云镜像)填写相关信息->Next选择Spring Boot版本并勾选相关依赖->Next->填写文件路径springboot项目目录介绍resources目录下必须有aplication.yml或application.properties核心配置文件在Java文件夹目录下有且只有一个项目入口类,一般是项原创 2021-03-11 18:36:03 · 179 阅读 · 1 评论 -
SpringBoot整合Swagger2
相关依赖<!-- swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependenc原创 2020-12-08 00:13:12 · 196 阅读 · 0 评论 -
IDEA设置Maven仓库阿里云镜像并更换jar包下载位置
如果是自己下载的maven需要配置环境变量,参考教程如下https://www.runoob.com/maven/maven-setup.html设置Maven仓库阿里云镜像一、找到IDEA中maven中的“setting.xml”位置一般在安装路径下的"JetBrains\IntelliJ IDEA 2018.2\plugins\maven\lib\maven3\conf"二、找到<mirrors>标签在<mirrors>下添加如下代码:<mirror>原创 2021-02-12 20:53:17 · 904 阅读 · 0 评论 -
创建springboot项目超时
方法一换个网络或者换热点,一般跟防火墙没关系方法二不选择默认的Default,而是适用Custom,输入aliyun的镜像节点:http://start.aliyun.com原创 2021-02-12 20:51:17 · 795 阅读 · 0 评论