![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
IT1995
每周个人笔记分享,欢迎广大网友查阅!
展开
-
Spring Boot文档阅读笔记-CORS Support
如下例子SpringBoot的web应用使用的是8080端口,而JS是通过9090端口调用web应用的restful的API。在这样的场景下,就会发现Cross-OriginResourceSharing的安全隐患。防止JS代码,从不同的源头发起请求。使用在Controller的方法上使用@CrossOrigin注解就可以允许跨域资源共享了。②将这个跨越资源共享设置到Web服务的8080端口上。allowedMethods允许的请求头。addMapping配置可被跨越的路径;...原创 2022-07-28 08:56:45 · 451 阅读 · 0 评论 -
Spring Boot笔记-解决前后端分离在开发时的跨域问题
这里可以用Nginx解决跨越问题,也可以用下面这种方式在开发时解决:@Configurationpublic class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedHeaders(CorsConfigu原创 2021-05-11 15:21:34 · 434 阅读 · 0 评论 -
Spring Boot笔记-WebSocket的使用
程序结构如下:关键源码如下:WebSocketConfig.javapackage com.example.demo.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.server.standard.ServerEndp..原创 2021-05-11 15:16:04 · 766 阅读 · 0 评论 -
Spring Boot笔记-JPA中自定义@Query分页查询
如下事例代码:@Repositorypublic interface XXXXXRepository extends JpaRepository<XXXYYY, XXXYYYPK> { //XXXXX @Query(nativeQuery = true, value = "select * from XXX.XXX_B where XXX = :XXX") Page<XXXYYY> getAllSYData(Pageable pageable, @P原创 2021-04-26 18:29:10 · 1175 阅读 · 0 评论 -
Spring Boot笔记-validation的使用及统一异常处理
这里以JPA后端分页为例,演示下validation的使用,及统一异常处理。正常分页查询:page页是从0开始的,我这里返回的时候,给他加1了。这里要注意。当出现异常的查询时:及这里的关键异常处理是这个类:/*** * 统一异常处理、数据预处理 */@ControllerAdvicepublic class ControllerExceptionHandler { @ExceptionHandler(value = BindException.clas原创 2021-04-26 18:27:54 · 3198 阅读 · 0 评论 -
Spring Boot笔记-@PathVariable的使用
这里直接展示下代码,看一下就明白了:http://127.0.0.1:8080/get/1000?name=xiaoming对应的代码如下: @GetMapping("/get/{id}") public Object getId(@PathVariable Long id, @RequestParam("name") String name){ System.out.println("id:" + id);原创 2021-04-26 18:21:18 · 922 阅读 · 0 评论 -
Spring Boot笔记-JPA分页(后端分页)
数据库内容如下:使用Pageable即可。Maven如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM原创 2021-04-26 18:18:58 · 1669 阅读 · 0 评论 -
Spring Boot笔记-controller接收json参数
以前使用的是这样的方式获取JSON参数的在controller端参数使用HttpServletRequestHttpServletRequest request通过他的request.getInputStream();//获取输入流后使用BufferedReader去直接读就可以了最近发现了一种新的方式,使用@RequestBody注解,即可如下: @PostMapping("/postJson1") public Object postJson1(@Requ原创 2021-04-26 18:15:49 · 9428 阅读 · 0 评论 -
Spring Boot笔记-接收参数的3种情况
如下代码:@RestControllerpublic class MyController { @GetMapping("/test1") public MyResponse test1(MyRequest myRequest){ MyResponse myResponse = new MyResponse(); myResponse.setCode(myRequest.getCode()); myResponse.setMsg(m原创 2021-04-20 17:56:16 · 585 阅读 · 0 评论 -
Spring Boot笔记-自定义配置项默认值设置
如果用动态配置中心,如果漏了配置会很麻烦,spring boot可以设置个默认值如下:这个是正常的:application.propertiestest.hello=Hello WorldMyController.java@RestControllerpublic class MyController { @Value("${test.hello}") private String value; @GetMapping("/hello") p原创 2021-04-07 08:47:10 · 5863 阅读 · 0 评论 -
Spring Boot笔记-banner.txt的使用
这里有个banner.txt放到resource里面:banner的内容如下: _ _ _ _ __ ______ _ _ | | | | | | | \ \ / / __ \| | | | | |__| | ___| | | __\ \ /\ / / | | | | __| | | __ |/ _ \ | |/ _ \ \/ \/ /| | | | |/ _` | | | | | __/原创 2021-04-07 08:44:24 · 1185 阅读 · 0 评论 -
Spring Boot笔记-@ComponentScan初步解析
@ComponentScan默认是扫描当前包下的所有类(包括子包)如下:@SpringBootConfiguration@EnableAutoConfiguration@ComponentScanpublic class DemoApplication { public static void main(String[] args) { ConfigurableApplicationContext ctx = SpringApplication.run(DemoA原创 2021-03-30 15:15:58 · 1059 阅读 · 0 评论 -
Spring Boot文档阅读笔记-FileHandling解析及抓包分析
这篇博文将说明使用WEB服务上传和下载文件。首先是文件上传:使用MultipartFile作为请求参数,这个上传API使用Multi-Part表单的值:代码如下: @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public String fileUpload(@RequestParam("file")MultipartFile file) throws IOExc原创 2021-03-10 14:43:54 · 759 阅读 · 0 评论 -
Spring Boot笔记-@Qualifier与@Autowired与@Bean
搞一个对象,让SpringBoot去管理用@Bean如果要注册好几个同对象类型的让SpringBoot管理@Bean(name = "MyName")SpringBoot注入,说白了就是反射,获取其单例对象:@Autowired如果有很多同类型,我要指定用MyName的进行注入: @Autowired @Qualifier("MyName")...原创 2021-03-09 08:43:09 · 936 阅读 · 0 评论 -
Spring Boot笔记-自动配置(Spring Boot封装成jar被其他项目引用)
特点:这里也就是自己写个Service注册到别人的SpringBoot项目中,然后别人来调用这个Service,这个Service,先读取自己的application.properties,再读取引入这个项目的application.properties,这里是覆盖式的。程序运行如下:CallJar调用了TestToolJar的一个Service。运行截图如下:这里的host,和port是在CallJar的application.properties中配置的:..原创 2021-03-09 08:41:11 · 1888 阅读 · 0 评论 -
Java笔记-对SpringBoot中CommandLineRunner的使用笔记
从中可以看到,这个是SpringBoot中的一个接口,他是在Spring环境都建起了后,一个一个的调用,都是在主线程中调用,如下:事例代码如下:DisposeOne.java@Componentpublic class DisposeOne implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.p..原创 2020-11-26 20:14:56 · 2188 阅读 · 0 评论 -
SpringShell文档阅读笔记-SpringShell的基本使用
官方对于SpringShell的介绍总结起来,差不多就是需要输入控制,不需要花里胡哨的Web相关的东西。只要一个控制台相关的。进行测试即可。首先在项目中包含最小的SpringBoot <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <原创 2020-11-17 21:57:02 · 1201 阅读 · 1 评论 -
Java笔记-JDBC心跳检测及断开重连线程实例
这里自己写了个JDBC心跳检测及断开重连线程:运行截图如下:心跳的时候运行ipconfig /release然后再给他ipconfig /renew回去:关键代码如下:Maven:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta.原创 2020-10-17 09:14:29 · 1796 阅读 · 1 评论 -
Spring Boot笔记-@Scheduled(cron=““)设置调度任务
这个比上一篇15分钟,1分钟跑一次的要好用。毕竟调用了框架。方便快捷,老外的东西的确好,难怪洋人在我国这么受欢迎。下面这段来自网络:"0 0 10,14,16" * * ? 每天上午10点,下午2点,4点"0 0/30 9-17" * * ? 朝九晚五工作时间内每半小时"0 0 12 ? * WED" 表示每个星期三中午12点"0 0 12 * * ?" 每天中午12点触发"0 15 10 ? * *" 每天上午10:15触发"0 15 10 * * ?" 每天上...原创 2020-10-17 09:11:20 · 1461 阅读 · 0 评论 -
Java笔记-Log4j在Spring Boot中的使用
在Java企业级开发中都需要日志记录相关的操作。Maven相关配置如下,首先要去除Spring Boot自带的日志,然后添加log4j2的日志:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <excl原创 2020-09-22 14:02:49 · 929 阅读 · 0 评论 -
Java笔记-AnnotationConfigApplicationContext在Spring中的例子
Bean在Spring中是可以代替xml文件的。Bean在@Configuration中被创建。 应用程序的配置通过AnnotationConfigApplication加载的。AnnotationConfigApplication可以使用register去注册一个类,AnnotationConfigApplication可以使用getBean去获取Object。下面是相关源码AppConfig.javapackage cn.it1995.demo;import org.springfra原创 2020-08-27 08:34:48 · 1162 阅读 · 0 评论 -
Java工作笔记-JPA中Repository新增自定义更新操作
这里因为某种自定义业务,需要自己写sql语句进行更新。或者某方言集不能用,需要对其进行手都更新。对此记录下。对应代码如下:@Repositorypublic interface Table1Repository extends JpaRepository<Table1, Integer> { @Query(nativeQuery = true, value = "select * from xxx.ccc.yyy") List<Object[]&.原创 2020-08-06 08:46:09 · 3200 阅读 · 1 评论 -
Spring Cloud文档阅读笔记-初识Spring Cloud(对Spring Cloud初步了解)
首先要知道的是Spring Cloud是微服务架构。微服务架构是一种架构模式,它将单一的应用程序划分成一组很小的服务,服务之间相互协调、互相配合。每个服务都运行在独立的进程中,服务与服务间采用轻量级通信机制(通常是HTTP协议的RESTful API)。每个服务都有着自己的业务,并且能够被独立的部署到生产环境、类生产环境等,对于具体的一个服务而言,应该根据上下文,选择合适的语言、工具对其进行构...原创 2020-04-12 13:41:10 · 4496 阅读 · 0 评论 -
Java工作笔记-JPA中使用@query注解(分页查询实例)
运行截图如下:这里对应的数据库内容如下:此处的关键代码如下:通过sql语句去做,这里nativeQuery = true,这样就可以使用原始的sql语句了其实真实的分页是这样的:limit (page - 1) * size , size因为limit后面不能接运算符,这里我们这service层处理:sql文件如下:CREATE DATABASE /*...原创 2020-04-02 10:34:13 · 8334 阅读 · 0 评论 -
Spring Boot笔记-WebSocket的使用
目录程序运行解析源码下载程序运行如下,有3个WebSocket客户端。输入名称后,后端如下:前端填出发送input,填写并发送点击发送后,另外2个都能收到具体如下:输入如下数据,让xiaoming只给xiaogang发送数据。点击发送后仅xiaogang接收;关闭所有页面,看看后端打印:...原创 2019-11-16 21:11:51 · 11356 阅读 · 3 评论 -
Spring Boot工作笔记-RabbitMQ中Unsupported major.minor version 52.0问题
目录错误演示解决方法错误演示字符串如下:java.lang.UnsupportedClassVersionError: com/rabbitmq/client/ConnectionFactory :Unsupported major.minor version 52.0造成这个问题的原因是RabbitMQ中的接口使用了Java 1.8的东西,而目前Ja...原创 2019-07-02 15:40:21 · 5085 阅读 · 1 评论 -
Spring Boot笔记-接收RabbitMQ队列中的消息
目录基本概念代码与实例基本概念首先有个关键:此处实验接收的数据类型为Order,这里要求发送和接收要一模一样。包括包名和类名都要一模一样:如下,consumerDemo下面是productorDemo这里,包名和类都一模一样否则接收端监听会失败!在消费(接收订阅)端要配置一些数据:spring.rabbitmq.listen...原创 2019-06-18 11:30:48 · 9261 阅读 · 0 评论 -
Spring Boot笔记-jQuery使用load进行异步调用
举个例子初始化界面如下:填充修改值并且点击修改!前端中相关的代码:<script type="text/javascript"> function change(){ //alert("onclick"); var url = '/refresh3DGraph/'+ $('#intValue').val(); $('#flu...原创 2019-06-12 16:40:43 · 4809 阅读 · 3 评论 -
Spring Boot笔记-echarts的使用及数据的修改
目录基本概念代码及演示基本概念这里2D的一般使用这个js文件:echarts.js3D的一般使用这个js文件:echarts-gl.min.jsthymeleaf这个模版引擎,可以返回一个div,如下所示: //刷新雷达图 @GetMapping("/refreshRadarGraph/{value}") public String ...原创 2019-06-12 15:53:33 · 5336 阅读 · 3 评论 -
Spring中Singleton作用域和Prototype作用域
目录基本概念演示基本概念singleton作用域就是单例模式;用spring容器实现单例模式而prototype作用域可以理解为多例模式!Singleton作用域例子:左侧的ref就是右侧bean的id,这里就是把右边的bean通过spring注入到左侧的bean中;而Singleton是如下的情况:而Prototype是这样的...原创 2019-04-09 09:19:46 · 7358 阅读 · 2 评论 -
Java学习笔记-Spring IoC 通过XML把Bean给IoC容器
运行截图如下:程序结构:源码如下:Bean.javapackage springioc.demo.bean;public class Bean { public Bean(){ System.out.println("bean.Bean"); }}spring.xml<beans xmlns="http://ww...原创 2019-03-28 23:48:54 · 4307 阅读 · 0 评论 -
Spring学习笔记-构造和Set方法注入Bean及集合和null值的注入
目录理论代码及演示理论注入Bean:可以通过构造方法注入Bean,通过Set方法注入Bean;集合类型有:List、Set、Map、Properties;以及特殊的null值的注入;通过构造方法注入Bean<bean id="bean" class="com...Bean"> <constructor-arg in...原创 2019-04-02 08:21:33 · 6017 阅读 · 0 评论 -
Spring中3种实例Bean的方法及设置Bean的别名
目录基本概念代码及演示对Bean的感悟基本概念学习使用Spring实例化Bean 1. 通过构造方法实例化Bean; 2. 通过静态方法实例化Bean; 3. 通过实例方法实例化BeanSpring设置Bean的别名代码及演示程序运行截图如下:程...原创 2019-03-31 21:03:37 · 8787 阅读 · 0 评论 -
Spring中使用XML方式导入Spring配置文件,Boot中使用全注解导入Spring配置
目录Spring中的方法Spring Boot中的方法Spring中的方法@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效;Spring Boot里面没有Spring的配置文件,自己编写的配置文件,也不能自动识别;想让Spring的配置文件生效,加载@ImportResource标注配置类项目结构如下:...原创 2019-03-04 15:35:59 · 5404 阅读 · 1 评论 -
Java笔记-Spring中RabbitMQ的调用
目录基本概念代码与演示基本概念Spring中已经整合了RabbitMQ,通过配置bean文件,然后在源码中加载,可以简化代码操作。身为C++程序员不得不说这种方式真的是太爽了。在本人做过的某些项目中,很多大佬也喜欢用C++采用这种方式,进行函数的回调。配置一个xml文件,指定dll和c接口,从而进行回调,这样可以时得程序变得更加的灵活。代码与...原创 2019-07-08 09:33:41 · 4641 阅读 · 1 评论 -
Java笔记-使用jpa连接mysql数据库
目录基本概念代码与实例基本概念此处的基本概念来至于:https://www.cnblogs.com/yunche/p/10279324.htmlJPA(Java Persistence API)用于对象持久化的 API,是 Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层。JDBC 也是一种规范和接口,不过 JDB...原创 2019-07-15 09:34:07 · 7317 阅读 · 1 评论 -
Java笔记-jpa中数据存储及更新应该注意的问题
本次源码是基于此篇博文的:https://blog.csdn.net/qq78442761/article/details/95938406这里要注意的问题是:当数据库表结构是这样的!这里就是update_time的默认值为CURRENT_TIMESTAMP并且还设置了on update属性。也就是当修改数据后,这个属性会被更新。检索的例子:@Testpubl...原创 2019-07-15 22:17:05 · 4690 阅读 · 0 评论 -
Java工作笔记-Spring Boot + Jdbc + dm7Driver访问数据库(Spring Boot连接达梦数据库)
目录基本概念代码与实例基本概念Jdbc有4种方式访问数据库,下面给出达梦访问数据库的方式。安装好达梦库后,就会有驱动,在此不再说明怎么去安装!本次使用Java7的环境,所以使用的Jar包为:Dm7JdbcDriver17.jar。其实安装好后官方有提供驱动的使用,但没有提供Spring Boot和Jdbc接口调用,所以在此本人记录下用Jdbc访问。...原创 2019-09-20 10:21:13 · 10134 阅读 · 2 评论 -
Java笔记-当返回数据为Json时去除为null的字段
目录问题及解决更好的方法问题及解决问题演示如下:如下的这个null,如果要去掉,最简单的方法如下,在对应的类上添加注解:@Data@JsonInclude(JsonInclude.Include.NON_NULL)public class OrderDTO {这样即可!但是,如果有很多类,那不是要一个一个的加这个注解,这个是十分麻烦的...原创 2019-08-12 10:26:45 · 9076 阅读 · 0 评论 -
Java笔记-重写JsonSerializer中serialize方法使Json中时间戳/1000
目录问题演示解决方法问题演示出现的为问题如下:去掉这个createTime和updateTIme中的000,也就是/1000,这里其实有很多方法,可以在构造的时候/1000,但这并不是最好的方法,通过重写JsonSerializer<T>中的serialize方法,再到想要的成员上加上注解即可:通过这种方式解决这个问题是比较好的方法...原创 2019-08-12 09:20:35 · 7370 阅读 · 0 评论