09 2020 档案
摘要:1 问题描述 用Kotlin编写Spring Boot,在业务层中使用@Transactional+@Autowired时出现如下错误: lateinit property dao has not been initialized 出错代码如下: 2 解决办法 因为Kotlin类默认是final的,
阅读全文
摘要:1 概述 MyBaits是一个著名的持久层框架,本文首先介绍了MyBatis的简单使用,接着与Spring进行整合,最后简单地使用了Generator去自动生成代码。 2 MyBatis简介 MyBatis本来是Apache的一个开源项目——iBatis,2010年由Apaceh Software
阅读全文
摘要:1 概述 Spring为开发者提供了JDBCTemplate,可以简化很多数据库操作相关的代码,本文主要介绍JDBCTemplate的使用以及事务管理功能。 2 JDBC Template 2.1 配置 配置的话主要配置以下几项: 数据源:org.springframework.jdbc.datas
阅读全文
摘要:1 概述 Jasypt是一个加密库,Github上有一个集成了Jasypt的Spring Boot库,叫jasypt-spring-boot,本文演示了如何使用该库对配置文件进行加密。 2 依赖 首先添加依赖: <dependency> <groupId>com.github.ulisesbocch
阅读全文
摘要:1 概述 Swagger主要用于生成API文档,本文演示了如何使用目前最新的OpenAPI3以及Swagger来进行接口文档的生成。 2 依赖 <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui
阅读全文
摘要:1 问题描述 JDK9以上很多库都有这种非法反射访问的警告,比如protostuff: 解决方法两个: JDK降级 添加JVM参数 2 原因 降到JDK8能解决以上问题。 但是这不是本文的重点。 先说一下出现该警告的原因,笔者使用的JDK为OpenJDK 11,JDK9以上模块不能使用反射去访问非公
阅读全文
摘要:1 概述 本文主要讲述了AOP的基本概念以及在Spring中AOP的几种实现方式。 2 AOP AOP,即Aspect-Oriented Programming,面向切面编程,与OOP相辅相成。类似的,在OOP中,以类为程序的基本单元,在AOP中的基本单元是Aspect(切面)。AOP采用横向抽取的
阅读全文
摘要:1 概述 本文讲述了如何使用Docker部署Spring Boot应用,首先介绍了Docker的安装过程,接着介绍了Docker的一些基础知识,最后讲述了Dockerfile的编写以及部署过程。 2 环境 Docker 20.10.14 3 Docker安装 由于大部分的教程都是针对x86架构的服务
阅读全文
摘要:1 概述 本文主要讲述了如何使用Hibernate Validator以及@Valid/@Validate注解。 2 校验 对于一个普通的Spring Boot应用,经常可以在业务层看到以下类似的操作: if(id == null) {...} if(username == null) {...}
阅读全文
摘要:1 Bean配置 Spring可以看做是一个管理Bean的工厂,开发者需要将Bean配置在XML或者Properties配置文件中。实际开发中常使用XML的格式,其中<bean>中的属性或子元素如下: id:Bean在BeanFactory中的唯一标识,在代码中通过BeanFactory获取Bean
阅读全文
摘要:1 IoC与DI IoC是Inversion of Control的简称,也就是控制反转。通常来说,创建对象需要调用者手动创建,也就是new XXX()的方式。当Spring框架出现后,对象的实例不再由调用者创建,而是由Spring容器创建,这样控制权就由调用者转移到Spring容器,控制权发生了反
阅读全文
摘要:1 Spring简介 Spring是一个轻量级Java开发框架,最早由Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,是一个分层的Java SE/EE full-stack轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。 2 Spring体系结
阅读全文
摘要:1 概述 Spring Web+MyBatis Plus,包括常见的CRUD功能。 2 dao层 MyBatis Plus相比起MyBaits可以简化不少配置,对于普通的CRUD提供了两个接口实现: BaseMapper<T> ISerivce<T> 最简单的BaseMapper<T>的CRUD接口
阅读全文
摘要:1 新建工程 打开IDEA选择新建工程并选择Spring Initializer: 可以在Project JDK处选择JDK版本,下一步是选择包名,语言,构建工具以及打包工具等,这里选择的是Java+Maven+Jar: 再下一步是选择依赖,一般来说Spring Boot应用都需要以下四个基础依赖:
阅读全文

浙公网安备 33010602011771号