SpringBoot
努 力 小 子
憨憨一个
展开
-
定时任务实现
【代码】定时任务实现。原创 2024-02-23 10:05:44 · 140 阅读 · 0 评论 -
ApplicationRunner实现自动执行线程
定义一个类实现ApplicationRunner和Runnable,通过方法结果跳转到这个类执行后,会自动执行override的run()方法,不用再通过start()执行线程。自动执行线程用到ApplicationRunner。原创 2024-02-21 11:24:42 · 272 阅读 · 0 评论 -
@Qualifier 注解消除bean注入不确定NoUniqueBeanDefinitionException的问题
使用@Autowired 注解进行 Spring 依赖注入时,有可能遇到容器中有多个 bean类型相同近似的问题,会报出NoUniqueBeanDefinitionException,这时可以 用@Qualifier 注释来指出我们想要使用哪个 bean。通过将 @Qualifier 注解与特定 Spring bean 的名称一起进行装配,Spring 框架就能从多个相同类型并满足装配要求的 bean 中找到我们想要的。原创 2023-05-29 10:38:05 · 140 阅读 · 0 评论 -
Java使用注解@SuppressWarnings忽视常见警告
有很多警告是没什么意义的,但是有的项目领导要求连warning都没有,或者开发者自己想要忽视掉这些warning,这时要用到@SuppressWarnings注解。告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。上述注解可以让类或者方法不再报出unuserd和unchecked的警告,简化反馈。等同于@SuppressWarnings(“unchecked”)同时忽略unchecked和unuserd的警告信息。原创 2023-05-29 09:25:54 · 2034 阅读 · 0 评论 -
Java Spring实现select下拉框之间相互作用(实现下拉框选择结果影响别的标签展示||当前下拉框选择结果可使别的下拉框选择内容修改)
前端在数据获取时出现了一些问题:后端传递过来的model对象只能在标签里使用,但是在标签的话没法直接传递别的标签的值,得通过js、jquery传递,但是js里又不能用model对象了,给我耽误了很长时间,最后通过hidden的input保存整个数据集,再通过js解析和切片调整才成功。一开始我想的是每个下拉框能获得不同的model对象,那么如果有某个select确定了值就再次发送请求给后端通过改变model对象来改变下拉框显示的值。最后我想的是前端的归于前端,要严格分离,避免反复的发送请求。原创 2023-03-03 17:06:26 · 277 阅读 · 0 评论 -
@SpringBootApplication的作用和功能
@SpringBootApplication开启了Spring的组件扫描和SpringBoot的自动配置。在@SpringBootApplication下有几个重要结构@Configuration表明类使用Spring的基于Java的配置。启用组件扫描,开启后写的Web控制器类和其他组件才能被自动发现并注册为bean,使用@Controller注解后组件扫描才能找到并注册为一个bean。开启Spring自动配置。@SpringBootApplication注解的往往是启动类。原创 2022-12-07 21:49:53 · 703 阅读 · 0 评论 -
required a bean of type “java.util.List‘ that could not be found
spring的Ioc容器在注入bean对象的时候,在类中检测到了 @Autowired 注解,于是就会去寻找这个对象的注入方式。自动注入的应该是如XXXXService这类服务层,而不应该是User等实体类。但问题是我在上面已经通过自动注入创建了对象。同一个项目中的实体类无需自动导入。原创 2022-09-30 11:41:35 · 4507 阅读 · 1 评论 -
Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found
crtl+单击上面的org.springframework.boot会跳转到配置文件中,找到spring-boot-maven-plugin的版本信息,也就是。标签下,可以发现org.springframework.boot没问题,但是。的spring-boot-maven-plugin提示有问题。,复制到标错的那行下边就行了。双击红色报错跳转到对应的。原创 2022-09-13 08:24:50 · 13376 阅读 · 11 评论 -
java本地依赖怎么导入
工作开发中我经常发现一个问题,即使把jar包等放入了repository也没办法成功扫描进来,具体问题体现在pom.xml中爆红提示not found,属实傻逼,直到老员工教我把jar包放到自己的测试项目里再通过制定本地路径的方式导入才成功。由图可知我把jar放在resources的自建jar包下,然后 在pom.xml中完成导入。以后把上面的xxxx改成jar包名就可以了。...原创 2022-08-31 15:43:33 · 2198 阅读 · 1 评论 -
手机或外部设备连接局域网下的localhost:8080
SpringBoot自带tomcat容器,只需要引入依赖即可:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>有了上面的基础,我们可以通过局域网(比如手机热点)进行访问,win+r cmd键入:IPCONFIG,找到IPv4的地原创 2022-05-19 15:38:58 · 2812 阅读 · 0 评论 -
Spring无法连接数据库 Access denied for user ‘Administrator‘@‘localhost‘ (using password: YES)
发现一个很蠢的错误,网上大多数回答都是jdbc.properties配置文件中的username="root"改为jdbc.username='root’或者把username改成user,因为在系统中也有个username属性,这时系统变量覆盖了Properties中的值,这时取得username的值为系统的用户名Administrator,密码为properties中的password去查询数据库,此时用户名名和密码并不匹配就会报错。但是!!!我用的是yaml配置的属性,反而就应该用username原创 2022-05-19 10:48:32 · 576 阅读 · 0 评论 -
Consider defining a bean named ‘shiroFilterFactoryBean‘ in your configuration.
Consider defining a bean named ‘shiroFilterFactoryBean’ in your configuratio。No bean named ‘shiroFilterFactoryBean’ availableShiroWebFilterConfiguration required a bean named ‘shiroFilterFactoryBean’ t。代码未报错,但是出现运行时出现问题,查阅文献后发现:问题在没有shiroFilterFactoryBe原创 2022-04-28 17:52:06 · 1677 阅读 · 0 评论 -
Shiro 入门
官网:Apache Shiro文章目录配置依赖配置shiro的配置文件log4j2.xml和shiro.inilog4j2.xml:shiro.ini配置quickstart.java配置依赖<!--shiro核心--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</arti原创 2022-04-25 13:26:34 · 483 阅读 · 0 评论 -
SpringSecurity的默认登录界面和自建的login页面产生冲突
我自己的login页面我自己的LoginController文件@Controllerpublic class LoginController {// @RequestMapping单个路径用@RequestMapping(""),多个路径用@RequestMapping({"a","b"}) @RequestMapping({"/login","login","/login.html","/user/login"})// public String login(){原创 2022-04-24 17:55:59 · 2319 阅读 · 0 评论 -
sec:authentication=“name“ 无效果/安装thymeleaf-extras-springsecurity依赖
sec:authentication="name"一般用来获取用户名,但是我发现出现无效的问题,现提供两种方法。法一:将spring版本降到2.0.9以下法二:maven仓库里的版本旧了,thymeleaf-extras-springsecurity4改为thymeleaf-extras-springsecurity5即可,如下:<!-- https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-spring原创 2022-04-24 14:58:37 · 768 阅读 · 0 评论 -
SpringSecurity的入门应用
官网:spring security referenceAuthorize Requests 授权/认证可以通过向方法添加多个子项来为 URL 指定自定义要求http.authorizeRequests()。例如:package com.example.project.config;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework原创 2022-04-23 20:33:27 · 1611 阅读 · 1 评论 -
maven中有一个jar包显示omitted for duplicate
omitted for duplicate的意思是因重复而省略,这不是什么大问题,说明在某个jar包中已包含这个包或者这个包你已经下载了,忽视即可原创 2022-04-22 13:59:56 · 6193 阅读 · 0 评论 -
idea项目突然所有文件爆红,add maven也没用
我的问题出在修改了porm.xml的依赖上,当有一个依赖出现问题,所有依赖都会无效,所以才会出现所有文件都爆红。原创 2022-04-22 11:16:09 · 1020 阅读 · 0 评论 -
启动mybatis、连接数据库——mybatis入门学习
整体文件一览一.porm.xml设置依赖<!--mybatis-spring-boot-starter整合--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <ver原创 2022-04-15 16:30:40 · 2511 阅读 · 0 评论 -
JDBC修改数据库(Object类的应用)
法一 通过URL传参@GetMapping("/updateAdmin/{id}") public String updateAdmin(@PathVariable("id") int id){ String sqlUpdateAdmin = "update treehole.t_admin set name=?,password=? where id="+id ; Object[] objects = new Object[2]; objects[原创 2022-04-08 20:59:26 · 817 阅读 · 0 评论 -
URL中的参数怎么获取到controller控制器处理方法的入参中
@PathVariable 映射 URL 绑定的占位符在Mapping中用{}标注变量,方法入参中用@PathVariable(“xxx”)获取后按照类型重新赋值@RequestMapping("/updateUser/{id}") public String updateUser(@PathVariable("id") int id) { String sqlupdateUser = "update xx表 set a = x while b = xx";原创 2022-04-08 20:01:27 · 563 阅读 · 0 评论 -
List<Map<String, Object>>——多层嵌套的数据结构
文章目录快速理解多重嵌套结构Map基础知识List例子查询数据库快速理解多重嵌套结构对于多层嵌套的数据结构,需要层层分解。以List<Map<String, Object>>为例,首先可以看到两种结构,分别是List和Map。可以观察到List在外层,用c语言做类比,可以看做是一个指针数组,指针数组,其实就是一个元素为指针的数组。那么回到这个例子,List<Map<String, Object>>不就是元素为Map的List吗?即List集合中的对象是一个Map对象,而这个Map对象的键是Stri原创 2022-04-08 17:30:39 · 6329 阅读 · 0 评论 -
IDEA 类名和变量名自动补全
法一alt+enter选择introduce local variable法二alt+ctrl+v选择功能原创 2022-04-08 16:19:03 · 819 阅读 · 0 评论 -
SpringBoot退出登录,使session失效
@RequestMapping("/logout")public String logout(HttpSession session){ session.invalidate(); return "/signup";}原创 2022-04-07 16:16:56 · 1416 阅读 · 0 评论 -
SpringBoot(Thymeleaf)拼接跳转链接
th:href = "@{/user/}"+${xxxx}链接的拼接类似于Java中的字符串拼接,使用+完成拼接要注意的是@{}中要把后面的/也带上,${}中的是变量值,可以是从别的页面获取的表单值之类的原创 2022-04-07 15:48:45 · 1240 阅读 · 0 评论 -
SpringBoot(Thymeleaf)前端html页面直接的传参和判定
传参<div th:replace="~{/commons/commons::sidebar(active='charts.html')}"></div>(active='charts.html') 就是传参的方式,在组件或跳转的后面加括号(),括号里面是变量和变量值。接收判定<a th:class="${active=='charts.html'?'nav-link active':'nav-link'}" href="charts.html">activ原创 2022-04-07 13:05:33 · 2158 阅读 · 0 评论 -
SpringBoot代码复用——thymeleaf提取导航栏并插入或替换元素
文章目录创建通用文件commons提取导航栏1.找到导航栏所在代码块2.把导航栏的前端代码块移入commons并命名3.在各个有需求的html文件中使用导航栏组件创建通用文件commons注意:commons和所有要用thymeleaf的html文件都应该设置引用:<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd"><html xmlns="http://www.w原创 2022-04-07 11:17:43 · 1459 阅读 · 0 评论 -
StringBoot设置了拦截器没有产生作用,页面没有拦截
发现犯了一个傻逼错误,代码其实是正确的,问题是session应该是有保存时间的。所以在这段时间内直接进入需要权限的页面,除非设置的密码之类有了改动,哪怕重新运行项目依旧可以直接进入。验证是否产生作用很简单,把上一次成功进入的密码或者用于验证的内容改动一下,或者直接在页面上插入当前账号看看是否有显示就行,蚌埠住啦。...原创 2022-04-06 16:46:37 · 263 阅读 · 0 评论 -
SpringBoot: xxxx for method parameter type String is not present]
发现问题是因为session.setAttribute后,没有用request.getSession().getAttribute获取就在用,警醒我要么干脆不要设置太多的属性内容,如果是必须的,获取也要完整,做到随时取用。原创 2022-04-06 16:03:51 · 1854 阅读 · 0 评论 -
Java 重定位 —— redirect:
return "redirect:/index": 不管前面的路径是什么,满足条件后会跳转到index比如8080/a/b/c/跳转后变成8080/index原创 2022-04-06 15:58:35 · 794 阅读 · 0 评论 -
SpringBoot/SpringMVC设置拦截器后格式出现问题,静态资源未引用
css、js等资源属于静态资源,如下图:设置拦截器时我们很可能用excludePathPatterns将一些没有权限要求的隔开,但html里依旧是会引用css、js等静态资源的,而拦截器会拦截这部分资源。所以我们要做的是将所有静态资源不设置隔离public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new SignUpHandlerInterceptor())原创 2022-04-06 14:32:16 · 602 阅读 · 0 评论 -
拦截器中addInterceptor和excludePathPatterns里的/* /**是什么
/**/**匹配/后面所有资源,包括/a/**会匹配/a/下的所有路径/*/*匹配一级路径,即a/的后面不能再有别的/,只能是a/x,a/xx,a/xxx,不能是a/x/xxa/* 仅可匹配一级路径如a/b、a/c不能匹配a/b/c和更多级路径...原创 2022-04-05 18:04:40 · 2484 阅读 · 0 评论 -
SpringMVC和SpringBoot的拦截器 HandlerInterceptor 入门
HandlerInterceptor 接口的三个方法/** * 预处理回调实现处理器的预处理(如检查登陆),第三个参数为响应的处理器,自定义Controller * 返回值:true表示继续流程(如调用下一个拦截器或处理器);false表示流程中断(如登录检查失败),不会继续调用其他的拦截器或处理器,此时我们需要通过response来产生响应; * 这个方法将在请求处理之前进行调用。 「注意」:如果该方法的返回值为false ,将视为当前请求结束,不仅自身的拦截器会失效,还会原创 2022-04-05 17:51:35 · 871 阅读 · 0 评论 -
SpringBoot 页面跳转后css和js效果都无效了
发现前端路径是"xxxx/xxxx.css",都改成"/xxxx/xxxx.css"或"~/xxxx/xxxx.css"就没问题了。复习一下路径知识://代表根目录~/~/ 代表根目录,同~/././ 当前目录…/../表示文件所在目录的上级目录1、加"/“代表 根目录下的绝对路径,是从站点的根目录开始找2、不加”/"代表 当前目录下的相对路径,是从当前路径开始找我之前没加/时从站点找,但站点没有支持,当然是没有格式的没有效果的。加了以后绝对路径从根目录找到资源并加载。原创 2022-04-04 18:16:17 · 1754 阅读 · 0 评论 -
SpringBoot 根据传参返回不同的内容
通过同名函数设置不同参数即可。但有个问题,我通过package com.example.project.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.anno原创 2022-04-04 16:00:16 · 983 阅读 · 0 评论 -
@ResponseBody使用后跳转的界面不是我希望的界面,使用@ResponseBody后界面跳转问题
package com.example.project.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class LoginControlle原创 2022-04-04 11:38:22 · 1518 阅读 · 0 评论 -
SpringBoot中英文切换/国际化——java后端怎么用预置文本的内容替换web网页内容(Resource Bundle)
文章目录创建预置文件文本内容Thymeleaf修改前端使其获得预置文本内容html页面设置跳转标签和传值创建一个MyLocaleResolver配置文件在MvcConfiguration中注册bean创建预置文件文本内容1.resources下创建目录internationalization即国际化目录2.在internationalization目录下创建properties文件,我这边是signUp.properties、signUp_zh_CN.properties、signUp_en_US.p原创 2022-04-03 19:45:30 · 1571 阅读 · 0 评论 -
Thymeleaf一些标签的传字符串/message/消息
labelth:placeholder="#{}"实现<label class="sr-only" for="signup-email" th:placeholder="#{signUp.name}"></label>a直接使用[[#{}]]放在标签中间即可[[#{signUp.terms}]]inputth:placeholder="#{}"实现<input id="signup-email" name="signup-email" type="email"原创 2022-04-03 16:50:53 · 968 阅读 · 1 评论 -
SpringBoot中的自定义路径怎么配置/根目录配置方法
创建一个MyMvcConfiguration区实现WebMvcConfigurer完成配置下面代码是要在http://localhost:8080/、http://localhost:8080/signup、http://localhost:8080/signup.html的情况下页面直接显示signup.html的内容package com.example.project.config;import org.springframework.context.annotation.Configurat原创 2022-04-01 13:49:24 · 2614 阅读 · 1 评论 -
java中接口(interface)
interface是面向对象编程语言中接口操作的关键字,功能是把所需成员组合起来,用来封装一定功能的集合。它好比一个模板,在其中定义了对象必须实现的成员,通过类或结构来实现它。接口不能直接实例化。接口不能包含成员的任何代码,只定义成员本身。接口成员的具体代码由实现接口的类提供。接口使用interface关键字进行声明。作用有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。接口(interface)是抽象方法和常量值的定义.原创 2022-03-24 13:09:59 · 1359 阅读 · 0 评论