Spring Boot
cc&
这个作者很懒,什么都没留下…
展开
-
springboot发送邮件
sendEmail('[email protected]', '标题', 'hello').then((res) => {console.log('发送邮件测试结果', res)2.application.properties填写配置项。注意:不需要加引号;1.pom.xml中配置依赖。4.controller层面。4.controller层。3.服务曾service。1.pom.xml配置。注意设置setFrom。5.前端api.js。原创 2024-04-20 16:44:42 · 388 阅读 · 0 评论 -
springboot+websocket客服聊天
springboot聊天原创 2023-06-09 10:04:29 · 2998 阅读 · 0 评论 -
springboot 上传图片
springboot上传图片原创 2023-06-05 08:34:01 · 1613 阅读 · 0 评论 -
spring boot 完整后端接口案例
springboot完整案例原创 2023-05-15 17:04:07 · 2230 阅读 · 1 评论 -
使用Spring初始化器创建Spring Boot项目
可以修改一些默认设置;注:初始化向导需要联网创建。:保存所有的静态资文件,页面),可以使用模板引擎(:保存所有的模板页面(原创 2023-05-15 15:22:04 · 446 阅读 · 0 评论 -
快速构建springboot项目
快速创建一个springboot项目原创 2023-05-15 15:01:03 · 460 阅读 · 0 评论 -
IntelliJ IDEA 配置maven
配置maven原创 2023-05-15 10:21:58 · 48 阅读 · 0 评论 -
springboot Redis3_项目实战
1.当你使用了redis后,项目的缓存就已经是redis了,不是最的那个缓存2.创建utils/RedisClient,这个就是之前的那个api,封装到了方法中使用,并不全,后期可以自己补充package com.cc.springboot.utils;/** * @Auther: 梦学谷 */import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.re原创 2022-04-11 15:10:10 · 166 阅读 · 0 评论 -
springboot Redis2_初次使用
1.配置文件spring.redis.host= 127.0.0.1spring.redis.port= 6379报错:redis Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to 127.0.0.1:6379解决:重新启动redis-server2.测试applicationpackage com.cc.springboot;import com.cc.springboo.原创 2022-04-11 14:32:55 · 1012 阅读 · 0 评论 -
springboot Redis1_五种数据类型
redis的作用:1、获取最新的n个数据;2、获取TOP N的数据;3、设置精准的抢购时间;4、实现计数器;5、去除重复值;6、利用set命令制作反垃圾系统;7、构建队列系统。redis是内存中的数据结构存储系统,可以用作数据库,缓存和消息中间件,支持多种类型的数据结构Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。 官网:Redis命令中心(Redis commands) -- Redis中国用户组(CRUG)1.String:<key,value&...原创 2022-04-11 11:35:41 · 1013 阅读 · 0 评论 -
springboot 缓存4_@CacheEvict清除缓存
@CacheEvict:清除缓存属性key:指要清除的数据,如 key="#id"allEntries =true : 指定清除这个缓存中所有数据。beforeInvocation = true : true在方法之前执行;默认false在方法之后执行,出现异常则不会清除缓存@CacheConfig指定缓存公共属性值@CacheConfig(cacheNames = “user”) 指定在类上,其他方法上就不需要写缓存名。service中写,案例 @Cache...原创 2022-04-11 09:44:15 · 1902 阅读 · 0 评论 -
springboot 缓存3_@CachePut跟新数据库同步更新缓存
默认情况下,更新数据库的内容,缓存里面的内容还是原来的数据,@CachePut :保证方法被调用后,又将对应缓存中的数据更新1.mapper @Update("UPDATE `user` SET `username`=#{username}, `real_name`=#{realName}, `password`=#{password}, `gender`=#{gender}, `user_type`=#{userType} WHERE `id`=#{id}") int updat.原创 2022-04-08 18:04:36 · 1797 阅读 · 0 评论 -
springboot 缓存2_ cacheable的key属性
cacheNames给缓存一个名字,相当于定义了一个容器 cacheNames key1 value1 key2 value2 ...... ..... key的命名: 名字 描述 示例 methodName 当前被调用的方法名 #root.methodName target原创 2022-04-08 17:25:38 · 1254 阅读 · 0 评论 -
springboot 缓存1_简单实现
缓存介绍-》缓存是每一个系统都应该考虑的功能,它用于加速系统的访问,以及提速系统的性能。比如:1. 经常访问的高频热点数据:电商网站的商品信息:每次查询数据库耗时,可以引入缓存。微博阅读量、点赞数、热点话题等2.临时性的数据:发送手机验证码,1分钟有效,过期则删除,存数据库负担有点大,这些临时性的数据也 可以放到缓存中, 直接从缓存中存取数据。Spring从3.1后定义了 org.springframework.cache.CacheManager 和org.springfram..原创 2022-04-08 17:07:52 · 884 阅读 · 0 评论 -
springboot 邮件2_实战
应用场景邮件功能的应用场景可谓十分广泛,诸如注册用户、密码找回,消息通知、以及一些程序异常通知等都需要使用到该功能。正是由于邮件功能的使用广泛,因此springboot也加在它的组件中添加了邮件。1.简单邮件(仅仅是文字内容)2.复杂邮件(可以有html样式,发送附件)package com.cc.springboot;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.anno.原创 2022-04-08 15:29:56 · 620 阅读 · 0 评论 -
springboot 邮件1_设置开发环境,设置邮箱服务器
1.创建项目时选中web和mail2.application.properties中配置邮箱信息#配置邮件信息[email protected]=xxxxxxxxxxxxxx#发送邮件服务器spring.mail.host=smtp.qq.com#ssl安全连接spring.mail.properties.smtp.ssl.enable=truespring.mail.password的获取:登录Q原创 2022-04-08 15:09:21 · 884 阅读 · 0 评论 -
springboot整合定时任务
在项目开发中,经常需要执行一些定时任务,比如 每月1号凌晨需要汇总上个月的数据分析报表; 每天凌晨分析前一天的日志信息等定时操作。Spring 为我们提供了异步执行定时任务调度的方式。使用的注解:@EnableScheduling 启动类上开启基于注解的定时任务标识的方法会进行定时处理@Scheduled标识的方法会进行定时处理需要通过 cron 属性来指定 cron 表达式: 秒 分 时 日 月 星期几cron表达式: 位置 取值范围 ..原创 2022-04-08 14:26:34 · 217 阅读 · 0 评论 -
springboot整合异步任务
在项目开发中,绝大多数情况下都是通过同步方式处理业务逻辑的,但是比如批量处理数据,批量发送邮 件,批量发送短信等操作 容易造成阻塞的情况,之前大部分都是使用多线程来完成此类任务。而在Spring 3+之后,就已经内置了 @Async 注解来完美解决这个问题,从而提高效率。使用的注解:@EnableAysnc 启动类上开启基于注解的异步任务@Aysnc 标识的方法会异步执行1.创建项目2.创建service/AsyncService事务package com.cc.springb.原创 2022-04-08 12:01:05 · 249 阅读 · 0 评论 -
项目---结合Ajax处理密码修改
1.页面内容<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head lang="en" th:replace="main/public :: #public_head"></head><body><!--头部--><header class="publicHeader" th:replace="main/public :: #public_he原创 2022-04-08 11:50:24 · 457 阅读 · 0 评论 -
项目-----登录模块链接数据
1 mapper接口 User getUserByUsername(String username);2.静态资源mapper.xml <select id="getUserByUsername" resultType="com.cc.springboot.entities.User"> select * from user where upper (username)=upper (#{username}) </select>3.c原创 2022-04-07 18:25:21 · 83 阅读 · 0 评论 -
thymeleaf中处理date回显到input标签type=‘date‘的方法
实体类要加注解,实现string--->date的转换和date--->string的转换 1 2 @DateTimeFormat(pattern="yyyy-MM-dd") privateDate createTime; 前端写法 1 <input type="text"name="createTime"th:value="${#dates.format(test.createTime, '...原创 2022-04-07 18:09:37 · 873 阅读 · 0 评论 -
项目----多表controller实现
1.html页面 <select name="pid" > <option value="" >--请选择--</option> <option value="" th:selected="${p.pid == pid}" th:each="p : ${providers}" th:value="${p.pid}" th:text="${p.providerName}"...原创 2022-04-07 11:45:27 · 505 阅读 · 0 评论 -
项目----mapper层多表数据访问
1.实体类entities关联idpackage com.cc.springboot.entities;import java.util.Date;/** * 帐单实体类 * @Title: Provider * @Description: com.mengxuegu.springboot.entities * @Auther: www.mengxuegu.com * @Version: 1.0 */public class Bill { private Integer原创 2022-04-07 09:51:40 · 487 阅读 · 0 评论 -
项目--mapper层数据访问
mapper层-》数据存储对象,相当于dao层mapper层直接与数据库打交道(执行sql语句)接口直接提供给service层。where 1=1 动态sql拼接%表示0个或多个字符1.实体类 entitiespackage com.cc.springboot.entities;import java.util.Date;/** * 供应商实体类 * @Title: Provider * @Description: com.mengxuegu.springboot...原创 2022-04-06 10:32:58 · 1355 阅读 · 0 评论 -
springboot事务管理
什么是事务?我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合。由于数据操作在顺序执行 的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并未正确的完成, 之前成功操作数据的并不可靠,需要在这种情况下进行回退。事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就 回退到事务开始未进行操作的状态。事务管理是Spring框架中最为常用的功能之一,我们在使用Spring Boot开发应用时,大.原创 2022-03-31 14:00:06 · 3563 阅读 · 0 评论 -
springDataJPA实战
从个人开发角度来说,Spring Data JPA更好用,是因为开发起来更快。但从团队角度,我们希望更好的维护性,spring data jpa就差一些,或者说对后期人的要求更高。mybatis更好一些1.创建module2.添加数据源, 新建 jpa 数据库spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/jpa?serverTime.原创 2022-03-31 11:04:27 · 1111 阅读 · 0 评论 -
配置文件版MyBatis操作
package com.cc.springboot.mapper;import com.cc.springboot.entities.Bill;public interface BillMapper { Bill getBillById(Integer bid); int addBill(Bill bill);}知识点:1. @mapper或运行项目中@MapperScan("com.cc.springboot.mapper"原创 2022-03-30 20:49:14 · 303 阅读 · 0 评论 -
注解版MyBatis操作
1.创建项目的时候要勾选好mybatis2. 创建mapper/ProviderMapperpackage com.cc.springboot.mapper;import com.cc.springboot.entities.Provider;import org.apache.ibatis.annotations.*;//使用mybatis注解版本@Mapper //指定这是操作数据的mapperpublic interface ProviderMapper {// .原创 2022-03-30 17:47:54 · 871 阅读 · 0 评论 -
配置Druid监控
1.application.yml(注意对齐)spring: datasource: username: root password: 123456# 针对mysql8版本以上的驱动包,需要指定时区 url: jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezong=GMT%2B8 # 针对mysql8版本以上的驱动包,需要指定新的驱动类 driver-class-name: com.mysql.cj.jd原创 2022-03-30 16:23:22 · 844 阅读 · 0 评论 -
配置阿里Druid连接池
1.pom.xml引入Druid依赖(maven repository官网搜索)可以这个网址 https://mvnrepository.com/ <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version&..原创 2022-03-30 14:55:12 · 607 阅读 · 0 评论 -
springboot使用jsbc+mysql 数据库拿取信息
controller包中创建classpackage com.cc.springboot.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.web.bind.annotation.GetMapping;import org.springframe原创 2022-03-30 14:17:55 · 199 阅读 · 0 评论 -
spring boot使用 jdbc+mysql 连接
1.创建文件,勾选JDBC和mysqlpom.xml中添加了mysql驱动包和jdbc启动器2.application.yml添加数据库的 配置spring: datasource: username: root password: 123456# 针对mysql8版本以上的驱动包,需要指定时区 url: jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezong=GMT%2B8 # 针对mysql8版.原创 2022-03-30 13:45:43 · 2814 阅读 · 0 评论 -
使用外置容器开发项目
比较嵌入式和外置servlet容器:1 .嵌入式Servlet容器:运行启动类就可启动,或将项目打成可执行的 jar 包 优点:简单、快捷; 缺点:默认不支持JSP、优化定制比较复杂使用定制器, 还需要知道 每个功能 的底层原理2. 外置Servlet容器:配置 Tomcat, 将项目部署到Tomcat中运行 缺点:一个一个部署到tomcat使用tomcat作为外置容器1.创建war类型项目2.指定webapp目录 ...原创 2022-03-30 11:22:16 · 105 阅读 · 0 评论 -
手动切换jetty,undertow作为嵌入式
SpringBoot 默认针对Servlet容器提供以下支持:Tomcat(默认使用)Jetty :支持长连接项目(如:聊天页面)Undertow : 不支持 JSP , 但是并发性能高,是高性能非阻塞的容器1.pom.xml移除默认容器方法:进入pom.xml-》右键-》Diagrams-》show Depencies-》1:1-》选中移除项目-》exclude warning:可能exclude是灰色的,点击旁边空白,再点击exclude即可移除后pom.xml显示...原创 2022-03-30 10:37:51 · 255 阅读 · 0 评论 -
自定义定制器修改嵌入式servlet容器配置
springboot在2.x版本改为实现WebServerFactoryCustomizer接口的 customize 方法config/MyServletConfig配置 @Bean public WebServerFactoryCustomizer webServerFactoryCustomizer(){ return new WebServerFactoryCustomizer(){ @Override publ原创 2022-03-30 10:13:01 · 151 阅读 · 0 评论 -
全局配置文件修改嵌入式servlet容器配置
springboot默认使用tomcat作为嵌入式的Servlet容器在resources/application.properties中配置#关于修改服务相关的配置server.port=8081#修改关于servlet的配置 浏览器访问要加上/servletserver.servlet.context-path=/servlet#修改tomcat相关配置server.tomcat.accept-count=8000...原创 2022-03-30 09:53:31 · 667 阅读 · 0 评论 -
springboot-------Servlet/Filter/Listener
1.创建servlet/HelloServletpackage com.cc.springboot.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOExcep原创 2022-03-29 21:21:38 · 204 阅读 · 0 评论 -
项目----删除信息
1.删除信息的controller// 删除供应商 @DeleteMapping("/provider/{pid}") public String delete(@PathVariable("pid") Integer pid){ logger.info("删除供应商信息"); providerDao.delete(pid); return "redirect:/providers"; }2.删除的页面 &原创 2022-03-29 21:14:57 · 426 阅读 · 0 评论 -
项目-----新增信息
1.点击打开新增页面<a th:href="@{/provider}" href="add.html">添加供应商</a>// 打开添加供应商页面 @GetMapping("/provider") public String toAdd(){ return "provider/add"; }知识点:1.页面中的路径都是@2.都是在controller中访问静态资源路径2. 添加页面 <for.原创 2022-03-29 15:01:49 · 113 阅读 · 0 评论 -
项目----修改信息
1,页面点击修改 <td> <a th:href="@{/provider/} + ${p.pid}" href="view.html"><img th:src="@{/img/read.png}" alt="查看" title="查看"/></a> <a th:href="@{/provider/} + ${p.pid}+'?type=update'" href="update.html"><img th:src=原创 2022-03-29 14:15:08 · 367 阅读 · 0 评论