spring框架

Spring使用JDBC访问MySQL数据库

♀尐吖头ヾ 提交于 2020-03-03 01:07:19
在Java应用程序开发中,使用JDBC访问MySQL数据库是Java开发者常用的技术。在Spring框架中,Spring对JDBC又进行了封装,简化了程序访问数据库的复杂度。本课主要讨论在Spring框架中如何使用封装的JDBC访问MySQL数据库。通过本课的学习,可以解决如下问题。 ● 在Spring框架下,如何让程序连接数据库? ● 如何利用DAO技术从数据源读取和写入数据? 企业级应用开发都会涉及到对数据库的访问,在Java编程环境中,访问数据库是非常繁琐的事情,需要编写启动数据库连接、准备和执行SQL语句、处理事务和异常、关闭连接等大量数据库操作代码。 使用Spring框架可以简化Java程序对数据库的访问,Spring提供了一套完整的数据库访问框架,用于简化各种数据库访问技术的使用。Spring框架支持JDBC、Hibernate、Java Perssitence等数据库访问技术,本文主要讨论JDBC数据库访问技术。 1、 配置数据源 要让Spring能够访问数据库,就要把数据库的位置,以及访问数据库的账号和密码告诉Spring。这个过程称为配置数据源。Spring提供了多种方式配置数据源,下面主要讨论基于JDBC驱动方式配置数据源。 Spring提供的JDBC驱动提供了三类数据源的配置方式,开发者可以根据程序需要选择不同的配置方式,配置方式及其配置说明如下表所示。 表1

6、Spring Boot 2.x 集成 MyBatis

倖福魔咒の 提交于 2020-03-02 19:12:10
1.6 Spring Boot 2.x 集成 MyBatis 简介 详细介绍如何在Spring Boot中整合MyBatis,并通过注解方式实现映射。 完整源码: 1.6.1 创建 spring-boot-mybatis 项目 pom文件如下 <?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/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hw</groupId> <artifactId>spring-boot-mybatis</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>spring-boot-mybatis</name> <description>Demo project for

springBoot 拦截配置

核能气质少年 提交于 2020-03-02 19:07:16
最近重构公司项目发现之前项目中有很多的拦截配置,用的大部分都是shiro进行拦截,将项目升级成boot项目之后试着shiro的方式半天,后来发现boot项目自带拦截,有点捡来芝麻丢了西瓜的感觉,好了废话不多说之间上代码: 1、继承 WebMvcConfigurerAdapter 实现方法 WebMvcConfigurerAdapter配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,Spring 5.0 以后WebMvcConfigurerAdapter会取消掉 以下WebMvcConfigurerAdapter 比较常用的重写接口 /** 解决跨域问题 **/ public void addCorsMappings(CorsRegistry registry) ; /** 添加拦截器 **/ void addInterceptors(InterceptorRegistry registry); /** 这里配置视图解析器 **/ void configureViewResolvers(ViewResolverRegistry registry); /** 配置内容裁决的一些选项 **/ void configureContentNegotiation(ContentNegotiationConfigurer

【Spring Security + OAuth2 + JWT入门到实战】7. 图形验证码

会有一股神秘感。 提交于 2020-03-02 18:59:59
简介 在登录界面图形添加验证码,流程1.开发生成图像验证码接口 2.在认证流程中加入图像验证码校验 图形验证码实体类 import lombok.Data; import java.awt.image.BufferedImage; import java.time.LocalDateTime; /** * 图片的代码 * * @author hekang * @date 2020/01/10 */ @Data public class ImageCode { private BufferedImage image; private String code; private LocalDateTime expireTime; public ImageCode(BufferedImage image, String code, int expireIn) { this.image = image; this.code = code; this.expireTime = LocalDateTime.now().plusSeconds(expireIn); } public boolean isExpire() { return LocalDateTime.now().isAfter(expireTime); } } 我们是做一个可以复用的框架,这些参数也弄到系统配置。 配置系统参数

springBoot 整合 mybatis+Oracle

丶灬走出姿态 提交于 2020-03-02 18:46:05
  现在比较流行的操作数据库操作层框架Mybatis,下面我们就来看看Springboot如何整合mybatis, 之前一直在用xml形式写sql,这次依然用xml的方式感觉这种还是比较灵活方便。   添加mybatis关键就是要引入mybatis-spring-boot-starter到pom文件中,如果你用MySQL,那就引入MySQL的pom文件,这里我用Oracle,淡然要引入Oracle的依赖了。添加完成mybatis和Oracle 在pom.xml 文件中的引入。 <!-- 链接Oracle数据库 oracle ojdbc不免费,需要手动引入jar包 --> <dependency> <groupId>oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- 集成mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId>

技术干货分享 | SpringCloud Gateway 全链路实现分析

血红的双手。 提交于 2020-03-02 18:04:33
1. 背景 随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。而诸多的服务可能分布在了几千台服务器,横跨多个不同的数据中心。为了快速定位和解决故障,应用性能进行分析,全链路监控组件就在这样的问题背景下产生了。最出名的是谷歌公开的论文提到的 Google Dapper。想要在这个上下文中理解分布式系统的行为,就需要监控那些横跨了不同的应用、不同的服务器之间的关联动作。 1.1 全链路原理 通过业务调用过程中添加并传递调用链ID,实现应用间生成链路数据,最终串联成一条完整的调用链。 其中整个调用过程中每个请求都要透传TxId、SpanId和pSpanId。 1.2 Spring Cloud Gateway 作为Spring Cloud官方推出的第二代网关框架,Spring cloud gateway是基于Spring 5.0、Spring Boot2.0和Reactor等技术开发的网关,采用了NIO模型进行通信。 1.2.1 Spring WebFlux Spring Boot 2.0 包括一个新的 spring-webflux 模块,名称中的 Flux 来源于 Reactor 中的类 Flux。该模块包含对响应式 HTTP 和 WebSocket 客户端的支持,以及对 REST、HTML 和 WebSocket 交互等程序的支持。 一般来说

SSM整合基本架构:第二篇

我们两清 提交于 2020-03-02 15:41:04
一. 项目准备 1.1-需求 实现对订单的查询(根据id查询)和更改 1.2-数据库脚本 CREATE DATABASE IF NOT EXISTS ssm; DROP TABLE IF EXISTS `items`; CREATE TABLE `items` ( `id` INT(10) NOT NULL AUTO_INCREMENT, `name` VARCHAR(20) DEFAULT NULL, `price` FLOAT(10,0) DEFAULT NULL, `pic` VARCHAR(40) DEFAULT NULL, `createTime` DATETIME DEFAULT NULL, `detail` VARCHAR(200) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; INSERT INTO `items` VALUES ('1', '华为P30手机', '1000', NULL, '2018-03-13 09:29:30', '国货杠杠的'); SELECT * FROM items; UPDATE items SET NAME='华为Mate30',price=9999,pic=NULL,createTime='2018-03

Maven

被刻印的时光 ゝ 提交于 2020-03-02 15:37:39
Maven Maven 项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的 项目管理工具 软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由 CVS 来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。 maven的优点 1.依赖的管理 Maven是如何找jar包的? 说白了,其实就是对jar 包的管理并给出坐标的过程。 2.一键构建 什么是构建? 指的是项目从编译-----测试-----运行----打包-------安装整个过程都交给maven进行管理,这个过程称为构建。 Maven命令 1.clean clean是maven工程的清理命令,执行

【Spring Security + OAuth2 + JWT入门到实战】4. 系统配置自定义登录页面

余生长醉 提交于 2020-03-02 15:37:19
简介 前面使用spring security默认的认证流程,处理了自定义的用户数据,密码加密, 但是在实际开发中,肯定是要使用自己开发的页面、登录成功失败的业务处理等。 关于个性化配置全部在spring-security-browser项目的BrowserSecurityConfig完成。 自定义登录页面 创建登录页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>标准登录页面</title> </head> <body> <h2>标准登录页面</h2> <h3>表单登录</h3> <form action="/authentication/form" method="post"> <table> <tr> <td>用户名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密码:</td> <td><input type="password" name="password"></td> </tr> <tr> <td colspan="2"> <button type="submit">登录</button> </td> </tr> </table> </form> </body> </html>

新SSM框架整合

风格不统一 提交于 2020-03-02 14:24:59
1.父工程ssmbuild *【链接:https://blog.kuangstudy.com/index.php/archives/487/ 】 * 导入pom依赖,资源预留,编码: <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>​ <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>javax.servlet.jsp-api</artifactId> <version>2.2.1</version> </dependency>​ <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency>​ <dependency> <!--jsp表达式的依赖--> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId>