spring框架

SpringBoot_入门

时光总嘲笑我的痴心妄想 提交于 2020-02-25 13:04:39
SpringBoot 微服务概念: SpringBoot入门: 背景: 简介: 入门分析: 微服务概念: 将服务微化,每一个功能元素最终都是一个可独立替换和独立升级的软件单元; 一个应用就是一组小型服务,可以通过HTTP的方式进行互通。 图片来源于尚硅谷视频 SpringBoot入门: 背景: 之前学习过的Spring和SpringMVC框架,它们都有着繁多的配置,开发效率相对低下,而且部署流程复杂。 简介: SpringBoot是一个简化Spring应用开发的框架,遵循"约定大于配置"的规则,是整个Spring技术栈的大整合,是J2EE开发的一站式解决方案。 入门分析: 父项目依赖: < ! -- 导入spring boot相关的依赖 -- > < parent > < groupId > org . springframework . boot < / groupId > < artifactId > spring‐boot‐starter‐parent < / artifactId > < version > 2.2 .4 . RELEASE < / version > < / parent > < ! -- 它的父依赖 -- > < parent > < groupId > org . springframework . boot < / groupId > <

为什么选择Spring Boot?

杀马特。学长 韩版系。学妹 提交于 2020-02-25 12:46:10
本文概述了各种Spring配置样式,并帮助你了解配置Spring应用程序的复杂性。抽丝剥茧 细说架构那些事——【优锐课】 Spring是一个非常流行的基于Java的框架,用于构建Web和企业应用程序。与许多其他框架仅关注一个领域不同,Spring框架通过其投资组合项目提供了广泛的功能来满足现代业务需求。 Spring框架提供了以多种方式(例如XML,Annotations和JavaConfig)配置bean的灵活性。随着功能数量的增加,复杂性也随之增加,配置Spring应用程序变得乏味且容易出错。 Spring团队创建了Spring Boot来解决配置的复杂性。 但是在深入探讨SpringBoot之前,我们将快速浏览一下Spring框架,看看SpringBoot试图解决什么样的问题。 在本文中,我们将介绍: Spring框架概述 使用Spring MVC和JPA(Hibernate)的Web应用程序 快速体验Spring Boot Spring框架概述 如果你是Java开发人员,那么你很有可能听说过Spring框架,并且很可能已在项目中使用了它。Spring框架主要是作为依赖关系注入容器创建的,但不仅如此。 Spring非常受欢迎有几个原因: Spring的依赖注入方法鼓励编写可测试的代码 易于使用但功能强大的数据库事务管理功能 Spring简化了与其他Java框架,比如JPA

spring基础内容

大城市里の小女人 提交于 2020-02-25 12:43:09
关注和收藏在这里 深入理解Spring框架的作用 纵览Spring , 读者会发现Spring 可以做非常多的事情。 但归根结底, 支撑Spring的仅仅是少许的基本理念, 所有的理念都可以追溯到Spring最根本的使命上: 简化Java开发。 Spring的目标是致力于全方位的简化Java开发。 这势必引出更多的解释, Spring是如何简化Java开发的? 为了降低Java开发的复杂性, Spring采取了以下4种关键策略: 基于POJO的轻量级和最小侵入性编程; 通过依赖注入和面向接口实现松耦合; 基于切面和惯例进行声明式编程; 通过切面和模板减少样板式代码。 几乎Spring所做的任何事情都可以追溯到上述的一条或多条策略。 我将通过具体的案例进一步阐述这些理念, 以此来证明Spring是如何完美兑现它的承诺的, 也就是简化Java开发。 让我们先从基于POJO的最小侵入性编程开始。 激发POJO的潜能 如果你从事Java编程有一段时间了, 那么你或许会发现(可能你也实际使用过) 很多框架通过强迫应用继承它们的类或实现它们的接口从而导致应用与框架绑死。 这种侵入式的编程方式在早期版本的Struts以及无数其他的Java规范和框架中都能看到。 Spring竭力避免因自身的API而弄乱你的应用代码。 Spring不会强迫你实现Spring规范的接口或继承Spring规范的类,

spring控制反转(IOC)

最后都变了- 提交于 2020-02-25 10:38:16
一、IOC的基础知识以及原理 背景:在采用面向对象方法设计的软件系统中,底层实现都是有N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。即软件系统中对象之间的耦合,对象A和对象B之间有关联,对象B又和对象C有依赖关系,这样对象和对象之间有着复杂的依赖关系,所有才有了控制反转这个理论。 什么是控制反转(IOC)? IOC是Inversion of Control的缩写,有的翻译成控制反转,还有翻译成为控制反向或者控制倒置。 简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现是对外部来说是透明的,从而降低了解决问题的复杂度,从而可以灵活地被重要和扩展。IOC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖对象之间的解耦,如下图所示: 即把各个对象类封装之后,通过IOC容器来关联这些对象类。这样对象与对象直接就通过IOC容器进行联系,但对象与对象之间没有什么直接联系。 如果去掉IOC容器后系统中的对象A与对象B就有了直接联系,如右图所示 比如好多的对象类要关联起来的话,就会变得很复杂,如右图所示: 所以提出IOC控制反转还是很有必要的。 为什么要把这种方式叫做控制反转呢? 软件系统在没有引入IOC容器之前,对象A依赖对象B,那么A对象在实例化或者运行到某一点的时候,自己必须主动创建对象B或者使用已经创建好的对象B

ibatis与spring继承

久未见 提交于 2020-02-25 05:38:13
作为开源的Orm对象映射框架,ibatis是一个线程 安全 ,学习容易,但是开发相对于hibernate来说的话,就要繁锁些,没有很好的工具支持ibatis所有的配置几乎是通过手写,这样增加了开发者的难度、、好啦,言归正转。下面编写实现。 一、引入spring,ibatis jar包. 二、编写log4j.properties日志文件 log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%c{1}% - %m%n log4j.logger.java.sql.PreparedStatement=DEBUG 三、建立Student.java类映象属性 package org.terry.ibatis.pojo; public class Student { private Long id; private String name; private String subject; private Long score; public Long getId() {

spring2.5 + ibatis2.3.4 整合开发

こ雲淡風輕ζ 提交于 2020-02-25 05:35:18
spring2.5 + ibatis 2.3.4 + struts2.2.3 整合框架 spring 所需包: —————————————————————————————— dist\spring.jar //spring 核心包 lib\jakarta-commons\commons-logging.jar //spring 日志所需包 lib\log4j\log4j- 1.2.15 .jar //log4j 日志包 使用该包需要配置 properties 文件 具体配置参考? lib\aspectj\aspectjrt.jar //AOP 编程必备包 lib\aspectj\aspectjweaver.jar //AOP 编程必备包 以上包为 spring 配置基本包。 lib\junit\junit-4.4.jar // 如需单元测试 , 加入此包 lib\jakarta-commons\commons-dbcp.jar //DBCP 缓冲池框架 整合 ibatis 所需包 lib\jakarta-commons\commons-pool.jar //Apache 的通用池 Jar 包 , 如果不加入将出现不能创建 datasourcebean dist\resources\spring-beans-2.5.xsd //spring 在 eclipse 中配置提示必备文件

Spring Boot 整合 Redis

笑着哭i 提交于 2020-02-25 01:22:42
Spring Boot 整合 Redis 实际开发中缓存处理是必须的,不可能我们每次客户端去请求一次服务器,服务器每次都要去数据库中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度。将用户频繁访问的内容存放在离用户最近,访问速度最快的地方,提高用户的响应速度,今天先来讲下在 Spring Boot 中整合 Redis 的详细步骤。 1、在项目中加入 Redis 依赖,pom 文件中添加如下 。 <!-- 整合Redis缓存支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2、在 application.yml 中添加 Redis 配置。 ##默认密码为空 redis: host: 127.0.0.1 # Redis服务器连接端口 port: 6379 jedis: pool: #连接池最大连接数(使用负值表示没有限制) max-active: 100 # 连接池中的最小空闲连接 max-idle: 10 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: 100000 # 连接超时时间(毫秒) timeout: 5000

Spring事务管理之几种方式实现事务(转)

我怕爱的太早我们不能终老 提交于 2020-02-25 00:30:35
转自 一:事务认识 大家所了解的事务Transaction,它是一些列严密操作动作,要么都操作完成,要么都回滚撤销。Spring事务管理基于底层数据库本身的事务处理机制。数据库事务的基础,是掌握Spring事务管理的基础。这篇总结下Spring事务。 事务具备ACID四种特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)的英文缩写。 (1)原子性(Atomicity)     事务最基本的操作单元,要么全部成功,要么全部失败,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。   (2)一致性(Consistency)     事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。如果事务成功地完成,那么系统中所有变化将正确地应用,系统处于有效状态。如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。   (3)隔离性(Isolation)     指的是在并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。事务查看数据更新时,数据所处的状态要么是另一事务修改它之前的状态,要么是另一事务修改它之后的状态

Spring整理

左心房为你撑大大i 提交于 2020-02-24 14:53:07
1、spring是什么?它包括哪几个部分? Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control: 反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多 著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。 2、什么是IoC? 1.专业术语 控制反转 (Inversion of Control,缩写为 IoC ),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做 依赖注入 (Dependency Injection,简称 DI ),还有一种方式叫“依赖查找”(Dependency Lookup)。 2.释义 Spring提出了对象工厂的概念,由Spring工厂来管理对象的生命周期。所谓对象生命周期指的是从对象的创建一直到对象的销毁都由Spring来管理。我们无需再自己new对象,而是从Spring工厂中获取需要的对象。甚至对象的依赖也由工厂来注入,无需手动注入依赖。 3、什么是DI? Dependency Injection:依赖注入。它是 spring

Spring Cloud进阶之路 | 二十一:授权服务(Spring Cloud Oauth2)JWT实现-TokenStore之JwtTokenStore

痞子三分冷 提交于 2020-02-24 12:37:32
前言 前面的文章中,分别介绍了 Spring Cloud进阶之路 | 十八:授权服务(Spring Cloud Oauth2)ClientDetailsService之JdbcClientDetailsService 、 Spring Cloud进阶之路 | 十九:授权服务(Spring Cloud Oauth2)TokenStore之JdbcTokenStore 、 Spring Cloud进阶之路 | 二十:授权服务(Spring Cloud Oauth2)TokenStore之RedisTokenStore 等实现。然而,在现如今微服务“横行”、前后端分离的大环境下,JWT已然是业内标准。Spring Cloud Oauth2针对JWT也做了一些列封装,满足业务需求。本文即对Spring Cloud Oauth2的JWT实现做一系列说明。 准备工作 复用上一篇文章 Spring Cloud进阶之路 | 二十:授权服务(Spring Cloud Oauth2)TokenStore之RedisTokenStore 中的xmall-auth授权工程。 秘钥生成 既然是采用JWT实现,那么势必需要提供加密算法,分为对称加密和非对称加密算法。本文以非对称加密算法RSA为例,利用JDK 1.8自带工具keytool生成秘钥库,并导出相关秘钥文件。 生成秘钥库。 keytool