吴裕雄--天生自然--Spring Boot--Spring Data JPA的事务支持
摘要:我们可以从org.springframework.data.jpa.repository.support.SimpleJpaRepository的源代码中看出,Spring Data JPA对所有的默认接口方法都开启了事务支持,并且对查询类事务默认启用readOnly。 Spring Boot的事务
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot整合MyBatis
摘要:MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。 MyBatis是一个基于Java的持久层框架。MyBatis提供的持久层框架包括SQL Maps和Data A
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot使用JdbcTemplate
摘要:JDBC模板(JdbcTemplate)是Spring对数据库的操作在JDBC基础上做了封装,建立了一个JDBC存取框架。在Spring Boot应用中,如果使用JdbcTemplate操作数据库,那么只需在pom.xml文件中添加spring-boot-starter-jdbc模块,即可通过@Au
阅读全文
吴裕雄--天生自然--Spring Boot--排序与分页查询
摘要:在实际应用开发中,排序与分页查询是必需的。幸运的是Spring Data JPA充分考虑了排序与分页查询的场景,为我们提供了Sort类、Page接口以及Pageable接口。 例如,如下数据访问接口: public interface AuthorRepository extends JpaRepo
阅读全文
吴裕雄--天生自然--Spring Boot--@Query和@Modifying注解
摘要:1.@Query注解 使用@Query注解可以将JPQL语句直接定义在数据访问接口方法上,并且接口方法名不受查询关键字和关联查询命名规范约束。 2.@Modifying注解 可以使用@Modifying和@Query注解组合定义在数据访问接口方法上,进行更新查询操作。 @Query注解 public
阅读全文
吴裕雄--天生自然--Spring Boot--使用Spring Data JPA实现用户(User)与权限(Authority)的多对多关系映射
摘要:在Spring Data JPA中使用@ManyToMany来注解多对多的映射关系,由一个关联表来维护。关联表的表名默认是:主表名+下划线+从表名(主表是指关系维护端对应的表,从表是指关系被维护端对应的表)。关联表只有两个外键字段,分别指向主表ID和从表ID。字段的名称默认为:主表名+下划线+主表中
阅读全文
吴裕雄--天生自然--Spring Boot--使用Spring Data JPA实现Author与Article的一对多关系映射
摘要:在Spring Data JPA中,使用@OneToMany和@ManyToOne来表示一对多的双向关联。例如,一端(Author)使用@OneToMany,多端(Article)使用@ManyToOne。 在JPA规范中,一对多的双向关系由多端(如Article)来维护。就是说多端为关系的维护端,
阅读全文
吴裕雄--天生自然--Spring Boot--使用Spring Data JPA实现人与身份证的一对一关系映射
摘要:在Spring Data JPA中有一对一、一对多、多对多等关系映射 @OneToOne 一对一关系,在现实生活中是十分常见的。比如一个大学生只有一张一卡通,一张一卡通只属于一个大学生。再比如人与身份证的关系也是一对一的关系。 在Spring Data JPA中,可用两种方式描述一对一关系映射。一种
阅读全文
吴裕雄--天生自然--Spring Boot--myclipse配置java
摘要:在主界面工具栏上找到window --> preferences选项,如图所示 在新弹出界面选择Java --> Installed JREs,先不管当前的配置,选择ADD ADD之后选择standard VM,然后点击next 在新弹出框中,这里就要用到Java home和jre name,这是配
阅读全文
吴裕雄--天生自然--Spring Boot--使用Mysql添加-查询用户
摘要:<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/P
阅读全文
吴裕雄--天生自然--Spring Boot--解决 Error creating bean with name 'entityManagerFactory' defined in class path resource
摘要:就是在下面这块代码 @Entity @Table(name="ay_user") public class AyUser { 加一个这个:@Proxy(lazy = false) 变成: @Proxy(lazy = false) @Entity @Table(name="ay_user") publ
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Data JPA
摘要:JPA(Java Persistence API)是官方提出的Java持久化规范。JPA通过注解或XML描述对象—关系(表)的映射关系,并将内存中的实体对象持久化到数据库。 Spring Data JPA通过提供基于JPA的Repository极大地简化了JPA的写法,在几乎不写实现的情况下,实现数
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot对JSP的支持
摘要:1.创建Spring Boot Web应用ch5_4 2.修改pom.xml文件,添加Servlet、Tomcat和JSTL依赖 3.设置Web应用ch5_4的上下文路径及页面配置信息 4.创建实体类Book 5.创建控制器类ThymeleafController 6.整理脚本样式静态文件 7.Vi
阅读全文
吴裕雄--天生自然--Spring Boot--@ExceptionHandler注解和@ControllerAdvice注解
摘要:使用自定义error页面并没有真正处理异常,可以使用@ExceptionHandler注解处理异常。 如果在Controller中有一个使用@ExceptionHandler注解修饰的方法,那么当Controller的任何方法抛出异常时,都由该方法处理异常。 使用@ExceptionHandler注
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot的异常统一处理
摘要:自定义error页面 在Spring Boot Web应用的src/main/resources/templates目录下添加error.html页面,访问发生错误或异常时,Spring Boot将自动找到该页面作为错误页面。Spring Boot为错误页面提供了以下属性: timestamp:错误
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot文件上传与下载
摘要:从Servlet 3.0开始,就提供了处理文件上传的方法,但这种文件上传需要在Java Servlet中完成,而Spring MVC提供了更简单的封装。Spring MVC是通过Apache Commons FileUpload技术实现一个MultipartResolver的实现类CommonsMu
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot处理JSON数据
摘要:在Spring Boot的Web应用中,内置了JSON数据的解析功能,默认使用Jackson自动完成解析(不需要加载Jackson依赖包),当控制器返回一个Java对象或集合数据时,Spring Boot自动将其转换成JSON数据,使用起来很方便简洁。 Spring Boot处理JSON数据时,需要
阅读全文
吴裕雄--天生自然--Spring Boot--基于Thymeleaf与BootStrap的Web开发实例
摘要:创建基于Thymeleaf模板引擎的Spring Boot Web应用 1.创建基于Thymeleaf模板引擎的Spring Boot Web应用ch5_2 2.设置Web应用ch5_2的上下文路径 3.创建实体类Book 4.创建控制器类ThymeleafController 5.整理脚本样式静态
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot与Thymeleaf的表单验证
摘要:使用Hibernate Validator验证表单时,需要利用它的标注类型在实体模型的属性上嵌入约束。 空检查 @Null:验证对象是否为null。 @NotNull:验证对象是否不为null,无法查检长度为0的字符串。 @NotBlank:检查约束字符串是不是null,还有被trim后的长度是否大
阅读全文
吴裕雄--天生自然--Spring Boot--Spring Boot与Thymeleaf实现页面信息国际化
摘要:1.编写国际化资源属性文件 2.添加配置文件内容,引入资源属性文件 3.重写localeResolver方法配置语言区域选择 4.创建控制器类I18nTestController 5.创建视图页面,并获得国际化信息 6.运行 src/main/resources目录下创建i18n/admin文件夹,
阅读全文
吴裕雄--天生自然--Spring Boot--Thymeleaf基础语法
摘要:1.引入Thymeleaf <html xmlns:th="http://www.thymeleaf.org"> <img th:src="'images/' + ${aBook.picture}"/> 2.输出内容 使用th:text和th:utext将文本内容输出到所在标签的body中。假如在国
阅读全文
吴裕雄--天生自然--Spring Boot的Web开发支持
摘要:如果开发者希望开发Spring Boot的Web应用程序,可以在Spring Boot项目的pom.xml文件中,添加如下依赖配置: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st
阅读全文
吴裕雄--天生自然--Spring Boot--自定义Starters
摘要:自定义一个Starter(spring_boot_mystarters)。要求:当类路径中存在MyService类时,自动配置该类的Bean,并可以将相应Bean的属性在application.properties中配置。 修改Spring Boot项目spring_boot_mystarters的
阅读全文
吴裕雄--天生自然--Spring Boot基本配置和注解
摘要:@Value 使用@Value注解读取配置文件内容示例代码如下: @Value("${test.msg}") //test.msg为配置文件application.properties中的key private String msg; //通过@Value注解将配置文件中key对应的value赋值给
阅读全文
吴裕雄--天生自然--Spring Boot的基本配置
摘要:启动类和核心注解 @SpringBootApplication Spring Boot应用通常都有一个名为*Application的程序入口类,该入口类需要使用Spring Boot的核心注解@SpringBootApplication标注为应用的启动类。 Spring Boot的核心注解@Spri
阅读全文
吴裕雄--天生自然--Spring Boot快速构建
摘要:打开:http://start.spring.io Spring Tool Suite Spring Tool Suite(STS)是一个定制版的Eclipse,专为Spring开发定制的,方便创建调试运行维护Spring应用。通过该工具,可以很轻易地生成一个Spring工程,比如Web工程,最令人
阅读全文
吴裕雄--天生自然--Maven手工构建第一个Spring Boot应用
摘要:1.配置Spring Boot的核心启动器 2.添加starter模块 3.编写测试代码 4.修改Maven默认的App类 5.运行main方法启动Spring Boot应用 6.测试Spring Boot应用 配置Spring Boot的核心启动器 首先,在pom.xml文件的<url…/>元素之
阅读全文
吴裕雄--天生自然--Spring Boot 基础
摘要:在Spring Boot框架中,使用“约定优于配置(COC,Convention Over Configuration)”的理念。针对企业应用开发,提供了符合各种场景的spring-boot-starter自动配置依赖模块,这些模块都是基于“开箱即用”的原则,进而使企业应用开发更加快捷和高效。可以说
阅读全文
吴裕雄--天生自然--SPRING--Spring MVC的基本配置
摘要:Spring MVC的定制配置需要配置类实现WebMvcConfigurer接口,并在配置类使用@EnableWebMvc注解来开启对Spring MVC的配置支持,这样开发者就可以重写接口方法完成常用的配置。 静态资源配置 应用的静态资源(CSS、JS、图片)等需要直接访问,这时需要开发者在配置类
阅读全文
吴裕雄--天生自然--SPRING--数据绑定
摘要:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %
阅读全文
吴裕雄--天生自然--SPRING--JSON数据交互
摘要:JSON数据结构 JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。与XML一样,JSON也是基于纯文本的数据格式。它有两种数据结构。 1.对象结构 2.数组结构 对象结构 对象结构以“{”开始,以“}”结束。中间部分由0个或多个以英文“,”分
阅读全文
吴裕雄--天生自然--SPRING--基于注解的控制器
摘要:Controller注解类型 在Spring MVC中,使用org.springframework.stereotype.Controller注解类型声明某类的实例是一个控制器。 RequestMapping注解类型 在基于注解的控制器类中,可以为每个请求编写对应的处理方法。需要使用org.spri
阅读全文
吴裕雄--天生自然--SPRING--基于Java配置的Spring MVC应用
摘要:使用web.xml和springmvc-servlet.xml配置文件进行Web配置和Spring MVC配置。但Spring Boot推荐使用Java配置的方式进行项目配置 创建Spring MVC的Java配置 在该配置类中使用@Configuration注解声明该类为Java配置类;使用@En
阅读全文
吴裕雄--天生自然--SPRING--Spring MVC的工作原理
摘要:Spring MVC框架主要由DispatcherServlet、处理器映射、控制器、视图解析器、视图组成,其工作原理,如图所示。 Spring MVC的工作流程如下: 1.客户端请求提交到DispatcherServlet; 2.由DispatcherServlet控制器寻找一个或多个Handle
阅读全文
吴裕雄--天生自然--SPRING--基于@Transactional注解的声明式事务管理
摘要:@Transactional注解可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有public方法将都具有该类型的事务属性,同时,也可以在方法级别使用该注解来覆盖类级别的定义。虽然@Transactional注解可以作用于接口、接口方法、类以及类方法上,但是Spring小组建议不要
阅读全文
吴裕雄--天生自然--SPRING--Spring的数据库编程
摘要:数据库编程是互联网编程的基础,Spring框架为开发者提供了JDBC模板模式,即jdbcTemplate,它可以简化许多代码,但在实际应用中jdbcTemplate并不常用。工作更多的时候,用的是Hibernate框架和MyBatis框架进行数据库编程。 package entity; public
阅读全文
吴裕雄--天生自然--SPRING--Bean的初始化和销毁
摘要:在实际工程应用中,经常需要在Bean使用之前或之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持。可以使用@Bean注解的initMethod和destroyMethod属性(相当于XML配置的init-method和destroy-method)对Bean进行初始化和销毁。 演示
阅读全文
吴裕雄--天生自然--SPRING--Spring Bean作用域
摘要:在Spring中,不仅可以完成Bean的实例化,还可以为Bean指定作用域。在Spring中为Bean的实例定义了如表所示的作用域,通过@Scope注解来实现。 演示Bean的作用域,具体步骤如下。 1.使用Eclipse创建Web应用并导入JAR包 2.编写不同作用域的Bean 3.创建配置类 4
阅读全文
吴裕雄--天生自然--SPRING--Spring Bean
摘要:Spring框架实例化Bean有三种方式:构造方法实例化、静态工厂实例化和实例工厂实例化(其中,最常用的实例方法是构造方法实例化) 演示Bean的实例化过程,具体步骤如下。 1.使用Eclipse创建Web应用并导入JAR包 2.创建实例化Bean的类 3.创建配置类 4.创建测试类 5.运行测试类
阅读全文
吴裕雄--天生自然--SPRING--Spring AOP
摘要:Spring AOP是Spring框架体系结构中非常重要的功能模块之一,该模块提供了面向切面编程实现。面向切面编程在事务处理、日志记录、安全控制等操作中被广泛使用。 1.AOP的概念 AOP(Aspect-Oriented Programming),即面向切面编程。它与OOP(Object-Orie
阅读全文
吴裕雄--天生自然--SPRING--Spring java配置
摘要:package dao; //此处没有使用@Repository声明Bean public class TestDao { public void save() { System.out.println("TestDao save"); } } package service; import dao
阅读全文
吴裕雄--天生自然--SPRING--Spring IoC
摘要:1.声明Bean的注解 (1)@Component 该注解是一个泛化的概念,仅仅表示一个组件对象(Bean),可以作用在任何层次上,没有明确的角色。 (2)@Repository 该注解用于将数据访问层(DAO)的类标识为Bean,即注解数据访问层Bean,其功能与@Component()相同。 (
阅读全文
吴裕雄--天生自然--Spring--第一个Spring入门程序
摘要:1.使用Eclipse创建Web应用并导入JAR包 2. 创建接口TestDao 3.创建接口TestDao的实现类TestDaoImpl 4.创建配置文件applicationContext.xml 5.创建测试类 package dao; public interface TestDao { p
阅读全文
吴裕雄--天生自然--SPRINGBOOT开发实战学习笔记--spring boot配置oracle、MySQL
摘要:server.port =8089 spring.datasource.primary.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl spring.datasource.primary.username=XXCS spring.datasource.primar
阅读全文
吴裕雄--天生自然--SPRINGBOOT开发实战学习笔记--处理The import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder cannot be resolved
摘要:是新版本改了: In latest springframework, this org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder has been moved to org.springframework.boot.jdbc.
阅读全文
吴裕雄--天生自然--SpringBoot开发实战学习笔记--处理"org.eclipse.m2e.jdt.JarLifecycleMapping" is not available
摘要:eclipse 项目中报错Lifecycle mapping "org.eclipse.m2e.jdt.JarLifecycleMapping" is not available, pom文件第一行同样报错. 解决方法: eclipse->help->check for updates 然后找到所有
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot Tomcat部署
摘要:如何在Tomcat Server上部署Spring Boot应用程序。 它包括三个步骤: 设置Spring Boot应用程序 创建Spring Boot WAR 将WAR部署到Tomcat <project xmlns="http://maven.apache.org/POM/4.0.0" xmln
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot HTML表单登录
摘要:<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/P
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot REST示例
摘要:REST应用程序遵循REST体系结构方法。我们使用REST应用程序来开发和设计网络应用程序。它生成对数据执行CRUD操作的HTTP请求。通常,它以JSON或 XML 格式返回数据。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--处理'spring.datasource.url' is not specified and no embedded datasource could be auto-configured
摘要:错误原因是触发了数据源的自动化配置,然而当前项目其实并不需要数据源。查其根源是依赖方提供的API依赖中引用了一些多余的依赖触发了该自动化配置的加载。 为了解决上面所述的问题,我们可以用两种方法来解决: 1)通过外部依赖的修改来解决:通过与依赖方沟通,在对方提供的API依赖中去掉不必要的依赖; 2)通
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--处理annotation.GetMapping cannot be resolved
摘要:可能是parent版本没有选对。 修改前: <parent> <!-- 依赖管理,引入以后在声明其它dependency的时候就不需要version --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--Spring Boot JPA数据库操作
摘要:Spring Boot JPA 是用于管理的Java规范Java应用程序中的关系数据。它允许我们访问和持久化Java对象/类与关系数据库之间的数据。 JPA遵循对象关系映射(ORM)。它是一组接口。它还提供了运行时 EntityManager API,用于处理针对数据库对象的查询和事务。它使用与平台
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot H2数据库
摘要:什么是内存数据库 内存数据库依赖于系统内存而不是磁盘数据存储空间。因为内存访问比磁盘访问快。当我们不需要持久化数据时,我们使用内存数据库。内存数据库是嵌入式数据库。默认情况下,内存数据库是易失性的,当我们重新启动应用程序时,所有存储的数据都会丢失。 广泛使用的内存数据库是 H2,HSQLDB (Hy
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--SpringBoot H2增删改查
摘要:CRUD操作引用关系数据库应用程序中实现的所有主要功能。 CRUD的每个字母都可以映射到SQL语句和HTTP方法。 操作 SQL HTTP动词 RESTful Web服务 Create INSERT PUT/POST POST Read SELECT GET GET Update UPDATE PU
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--处理The import javax.persistence cannot be resolved
摘要:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePat
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--处理Cannot load driver class: com.mysql.cj.jdbc.Driver
摘要:将之前pom.XML中的mysql依赖替换了一下就可以了 原来的: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </depen
阅读全文
吴裕雄--天生自然SPRINGBOOT开发实战--连接MYSQL数据库
摘要:创建数据库 create database springbootdb; create table user( id int not null auto_increment, name varchar(100), email varchar(100), PRIMARY KEY ( id ) )ENGI
阅读全文