SpringBoot2
MarconiYe
这个作者很懒,什么都没留下…
展开
-
SpringBoot用配置文件对Properties的静态变量赋值
由于工具类为静态的,所以我们的Properties里的变量也必须为静态的,那么我们就不能直接用。方法,因为自动生成的默认为static方法,而想要通过配置文件来对其赋值,其。我们经常通过配置文件来设置代码中可以变的值,来降低代码与这些值的耦合度。如果在静态工具类中,比如Jwt工具类。我们想要自定义配置其默认的过期时间。这样就可以正常通过配置文件赋值。或者IDE工具来直接生成。方法必须为非static。...原创 2022-07-17 20:09:58 · 804 阅读 · 1 评论 -
SpringBoot2解决Long型数据上传前端时精度不够的情况
SpringBoot后端在队某个对象进行序列化为JSON时。默认会以作为消息转换器,而该转换器会默认将对象属性封装成对应类型的数据放在Json中传至前端,但中的整数精度只到14位,因此,如果上传的Long值大于14位,会导致精度丢失,造成数据不正确,解决办法有两种:之后在中重写方法来扩展转换器:...原创 2022-06-07 02:20:09 · 390 阅读 · 0 评论 -
关于使用springboot-devtools工具产生类型转换问题
我在使用SpringBoot的dev-tools进行热部署时会出现类型强转错误问题在进行热部署后都会出现,而为了实现热部署,dev-tools原有自己的类加载器,进行更新,由于类加载器的不同导致类型转换失败。只需要重新开启服务器即可...原创 2022-05-17 20:07:41 · 478 阅读 · 1 评论 -
SpringBoot集成Redis时的Jackson序列化问题
由于我的序列化实体类中有一个字段是LocalDateTime,该字段为Java8中的新时间类,Jackson默认不支持该时间类型,因此会报SerializationException:解决方法添加时间模块的依赖 <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-dataty原创 2022-05-05 00:15:06 · 1188 阅读 · 0 评论 -
IDEA开发Java项目常用.gitignore配置
*.class*.log*.lock# Package Files #*.jar*.war*.eartarget/# idea.idea/*.iml/*velocity.log*### STS ###.apt_generated.factorypath.springBeans### IntelliJ IDEA ###*.iml*.ipr*.iws.idea.classpath.project.settings/bin/*.logtem/#r原创 2022-04-27 19:32:32 · 2221 阅读 · 0 评论 -
SpringSecurity对认证或授权失败的封装
在SpringSecurity中,如果在认证或授权过程发生了异常,会分别将错误封装成AuthenticationException和AccessDeniedException,并且会分别调用AuthenticationEntryPoint和AccessDeniedHandler接口对象的方法来处理,我们可以用已经实现的类也可以自己实现该接口自定义错误处理:@Componentpublic class AccessDeniedHandlerImpl implements AccessDeniedHandl原创 2022-04-27 13:41:41 · 744 阅读 · 0 评论 -
SpringSecurity整合SpringBoot2实现JWT登录认证
对于JWT的解释,网上有很多,我就不多赘述,主要分为以下两个步骤:用户登录生成Token返回给前端前端在访问某些接口时需要该Token进行鉴权访问编写登录接口,生成Token并返回前端编写service层实现类利用AuthenticationManager的authenticate方法进行用户认证:将用户输入的用户名和密码传入一个实现Authentication接口的类对象(这里选用UsernamePasswordAuthenticationToken )//将用户输入的用户名.原创 2022-04-26 23:04:32 · 1017 阅读 · 0 评论 -
SpringSecurity-Web用户认证
首先引入pom坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>编写配置类继承WebSecurityConfigurerAdapter 类:@.原创 2022-04-26 02:50:48 · 229 阅读 · 0 评论 -
SpringBoot2-Profile功能
环境切换在实际开发中,生产、开发和测试等环境的配置文件可能会不同,比如数据源信息,因此SpringBoot帮我们引入profile功能来快速切换环境首先我们可以写多个环境的配置文件:第一个是默认配置文件,application-后面加上具体的环境名称,该名称自定义,代表对应环境下的配置文件,如果我们在本地进行开发,可以将配置写在默认配置文件中,当项目部署到生产环境前,可以在默认配置文件中加入以下配置:spring: profiles: active: prod即可将配置文件切换原创 2022-04-25 20:46:46 · 969 阅读 · 0 评论 -
MyBatis-Plus整合SpringBoot2
首先导入pom坐标: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency>该包导入了以下.原创 2022-04-25 15:34:58 · 766 阅读 · 0 评论 -
SpringBoot整合Mybatis
首先引入mybatis-springboot整合坐标 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> .原创 2022-04-24 22:07:06 · 470 阅读 · 0 评论 -
SpringBoot2-Web拦截器基本使用以及拦截流程
拦截器在Http请求处理过程中可以对请求进行筛选,对响应进行渲染…首先需要写一个实现HandlerInterceptor接口的实现类,并重写以下三个方法public class TestInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object hand.原创 2022-04-17 21:08:57 · 598 阅读 · 0 评论 -
SpringBoot2接口请求处理的注解
@PathVariable(key):当请求格式为/user/{id}时,传进来的参数可以利用该注解:还有一种方法可以直接将多个参数包装成一个Map变量,即:这个map将会储存路径中所有的可变参数@RequestHeader:用于处理请求头@RequestParam:用于处理请求参数@CookieValue:用于处理Cookies@RequestBody:可用于储存POST请求的请求体以上几个注解都可像第一个一样,用Map来封装对应参数...原创 2022-04-17 16:22:15 · 450 阅读 · 0 评论 -
SpringBoot-Web开发时的Restful风格接口
在对应接口方法上使用@RequestMapping或者细分的@GetMapping、@PostMapping等注解,如果客户端是以表单提交数据,此时无法直接发送PUT、DELETE等请求,应该在表单中增加一个隐藏的_method数据,值为对应的请求类型<form action="/user" method="post"><input name="_method" value="DELETE" type=hidden></form>此时SpringBoot会将该表原创 2022-04-16 02:02:09 · 309 阅读 · 0 评论 -
SpringBoot2的配置绑定
我们在配置数据库时,经常会把数据库连接信息配置到.properties文件中,之前想要将器取出,我们一般用的是ResourceBundle类来进行资源绑定,相对比较麻烦,但在Spring环境中,借助IOC容器,可以帮我们很便捷的解决这个问题,称为配置绑定有以下两种方法:无论哪种方法,最核心的肯定是需要将配置文件中的信息封装到IOC容器中,Spring才能帮助我们实现想要的功能在将某个自定义类注入到容器时,使用@ConfigurationProperties(prefix="")将SpringBoo原创 2022-04-15 22:01:28 · 353 阅读 · 0 评论 -
yaml配置文件配置SpringBoot
yaml/yml文件的语法和python几乎一样,唯一不同的是数组换行时用-作前缀,以及键值对中的冒号后必须有一个空格person: key: - value1 - value2 #这是数组形式在SpringBoot中用yml文件代替properties文件:SpringBoot在扫描配置文件时,首先扫描properties文件,再扫描yml文件,properties文件的优先级更高properties文件默认使用的是ISO-8859-1编码模式,解决中文乱码模式比较复杂,yml文原创 2022-04-15 21:02:32 · 955 阅读 · 0 评论 -
Lombok包的简化开发运用
首先在pom文件下导入坐标 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>只需要在某类中加入@Data注解,即可自动配置对应的setter、getter、以及toString等方法可通过在类中单击右键.原创 2022-04-15 20:29:07 · 218 阅读 · 0 评论 -
SpringBoot自动配置的底层实现
SpringBoot的自动配置功能可以说是其最引以为傲的功能,下面为其底层实现原理之前用Spring、SpringMVC开发时,自己想要实现某些功能,比如Http解码、视图解析器、文件上传解析器等等,一般做法都是将某个组件注入容器中,也就是说,功能配置的核心就是将功能组件注入到IOC容器中,框架才会帮助我们实现相应的功能那么在SpringBoot实现自动配置的功能时,首先SpringBoot在加载时会自动载入所有开发环境下的自动配置类xxxAutoConfiguration在不同的开发环境中,会.原创 2022-04-15 15:33:38 · 377 阅读 · 0 评论 -
【SpringBoot2】@ImportResource将原生配置文件导入容器
在SpringBoot中,如果有时想要写一些配置文件来配置组件,SpringBoot框架是无法直接识别Spring配置文件的,必须在配置类中使用@ImportResource(classpath:xxx.xml)来指定Spring配置文件,这样才能将配置文件中的组件添加到容器中...原创 2022-04-15 12:54:32 · 310 阅读 · 0 评论 -
SpringBoot2组件的添加
组件的添加在SpringBoot2中是利用注解方式实现的,也就是我们常说的注解代替配置文件在某个配置类前加上@Configuration注解,就告诉了SpringBoot这是一个配置类,而在配置类中可以用一个方法来定义一个Bean组件,并且在方法前加上@Bean(value),表示该方法为一个组件,组件id为value,如果没写value则为方法名,返回类型为组件类型,返回值为组件实例该注解中有一个参数是Boolean proxyBeamMethods值为true时,称为Full模式,保证该组.原创 2022-04-14 02:33:44 · 218 阅读 · 0 评论 -
SpringBoot2的依赖管理特性
在学习SpringBoot之前,我们经常因为某个jar包的maven坐标版本问题,导致项目运行问题,在SpringBoot2中,会将符合SpringBoot的所有包的推荐版本进行默认封装,保证版本的正确性,这被称为自动版本仲裁机制,我们只需要在Maven项目中导入spring-boot-starter-*坐标即可自动导入对应场景(比如web)开发中常用的jar包,如果我们想要导入坐标,可以不用写version,因为SpringBoot帮我们封装好了推荐的版本号,而如果我们想要强制改变某包的版本,则需要加入以原创 2022-04-14 01:28:05 · 331 阅读 · 0 评论