spring框架

Spring基础内容一

人盡茶涼 提交于 2020-02-29 11:14:11
1.Spring是什么? Spring就是用来解决对象的创建和对象之间的依赖关系的 这样一门技术 。 Spring能干什么? 1>:创建对象 2>:依赖关系 3>:为service提供事务 4>:整合我们的传统开发框架 2.事务: 1>:粗粒度事务 只能够对方法进行添加事务 这种称为粗粒度事务( Spring的事务只能够是粗粒度的事务 ) 以后我们在给访问数据库添加事务的时候是不会将事务写到dao层上的, 因为一个动作是否完成取决于业务逻辑是否完成 ,所以事物都是添加在service上的 2>:细粒度事务 就是一个事务能够对我们的程序的某几行提供的事务 3>: 事务的分类 1>:本地事务 就是只是对一个数据库添加的事务, 我们目前学习的都叫本地的事物 2>:全局事务 举例:银行转账 --中国银行给建设银行转钱 。 这个是两个不同的数据库 ,要同时保证在这两 个表中的操作能够顺利的进行,就必须要使用全局事务 3.Spring的模块图( 7个 ) 1.Spring AOP模块 AOP:面向切面的编程 就是将重复代码抽取出来形成切面类 ,然后当我们程序运行的时候,通过 动态代理或者cglib代理来完成代码的自动植入 的这样一个编程思想 就叫做面向切面的编程 2.Spring ORM模块 主要是提供了对Hibernate/MyBatis/JDO其他ORM框架整合的支持(对象关系映射) 3

SpringBoot整合Redis

こ雲淡風輕ζ 提交于 2020-02-29 10:39:26
前言 实际开发中缓存处理是必须的,不可能我们每次客户端去请求一次服务器,服务器每次都要去数据库中进行查找,为什么要使用缓存?说到底是为了提高系统的运行速度。将用户频繁访问的内容存放在离用户最近,访问速度最快的地方,提高用户的响应速度,今天先来讲下在 Spring Boot 中整合 Redis 的详细步骤。 一、安装 Redis 下载地址 : https://redis.io/download 首先要在本地安装一个 redis 程序,安装过程十分简单(略过),安装完成后进入到 Redis 文件夹中可以看到如下: 点击 redis-server.exe 开启 Redis 服务,可以看到如下图所示即代表开启 Redis 服务成功: 那么我们可以开启 Redis 客户端进行测试: 二、整合到 Spring Boot 1 、在项目中加入 Redis 依赖, pom 文件中添加如下。 <!-- 整合Redis缓存支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>    2 、在 application.yml 中添加 Redis 配置。 ##默认密码为空 redis: host:

SSH三大框架的工作原理及流程

帅比萌擦擦* 提交于 2020-02-29 09:06:35
Hibernate工作原理及为什么要用? 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息 3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Transation 6.persistent operate持久化操作 7.session.getTransaction().commit();//提交事务 8.关闭Session 9.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库

阅读spring源码

試著忘記壹切 提交于 2020-02-29 03:13:22
读Spring源码之前,你要先清楚,为什么你要用Spring... Spring最基本的功能是做为管理bean的容器,所以我以为应该先从org.springframework.context包了解咯,包括org.springframework.web.context; 然后是org.springframework.beans org.springframework.aop 你看那个从core开始看就可以了 从ApplicationContext Spring中文手册是必须的~~ 1.阅读源码的入口在哪里? 2.入门前必备知识了解:IOC和AOP 一、我们从哪里开始 1.准备工作:在官网上下载了Spring源代码之后,导入Eclipse,以方便查询。 2.打开我们使用Spring的项目工程,找到Web.xml这个网站系统配置文件,在其中找到Spring的初始化信息: [html] view plain copy < listener > < listener-class > org.springframework.web.context.ContextLoaderListener </ listener-class > </ listener > 由配置信息可知,我们开始的入口就这里ContextLoaderListener这个监听器。 在源代码中我们找到了这个类,它的定义是:

spring启动流程

自古美人都是妖i 提交于 2020-02-29 03:09:54
转载:https://www.cnblogs.com/luoluoshidafu/p/6442055.html 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境; 其次,在web.xml中会提供有contextLoaderListener。在web容器启动时,会触发容器初始化事件,此时contextLoaderListener会监听到这个事件,其contextInitialized方法会被调用,在这个方法中,spring会初始化一个启动上下文,这个上下文被称为根上下文,即WebApplicationContext,这是一个接口类,确切的说,其实际的实现类是XmlWebApplicationContext。这个就是spring的IoC容器,其对应的Bean定义的配置由web.xml中的context-param标签指定。在这个IoC容器初始化完毕后,spring以WebApplicationContext.ROOT WEB APPLICATION CONTEXT ATTRIBUTE为属性Key,将其存储到ServletContext中,便于获取; 再次,contextLoaderListener监听器初始化完毕后,开始初始化web

spring 启动过程

别等时光非礼了梦想. 提交于 2020-02-29 03:09:34
首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境; 其次,在web.xml中会提供有contextLoaderListener。在web容器启动时,会触发容器初始化事件,此时contextLoaderListener会监听到这个事件,其contextInitialized方法会被调用,在这个方法中,spring会初始化一个启动上下文,这个上下文被称为根上下文,即WebApplicationContext,这是一个接口类,确切的说,其实际的实现类是XmlWebApplicationContext。这个就是spring的IoC容器,其对应的Bean定义的配置由web.xml中的context-param标签指定。在这个IoC容器初始化完毕后,spring以WebApplicationContext.ROOT WEB APPLICATION CONTEXT ATTRIBUTE为属性Key,将其存储到ServletContext中,便于获取; 再次,contextLoaderListener监听器初始化完毕后,开始初始化web.xml中配置的Servlet,这个servlet可以配置多个,以最常见的DispatcherServlet为例

Eclipse中配置Spring框架

限于喜欢 提交于 2020-02-28 22:47:16
Spring是个很常用的轻量级框架,今儿就来扯扯怎么在Eclipse中配置Spring框架。 其实很简单,其实很自然。 先下载两个东西并且解压: 2. 把commons-logging中的两个jar包放到spring-4.3.1的libs目录下 3. 在eclipse中windows->perference->user lbraryies,new新建Spring,然后再用AddExternal Jar将spring-4.3.1的libs目录下的jar包全部引入到Spring。 4.项目右键,Build path->configuration build path 5. Add Libraries 6. 点user library 将Spring加入即可 来源: CSDN 作者: 凡凡.cs 链接: https://blog.csdn.net/fanyuwgy/article/details/104564639

http://spring.oschina.mopaas.com/html_en/

这一生的挚爱 提交于 2020-02-28 22:26:56
Spring Framework Reference Documentation Next Spring Framework Reference Documentation Authors Rod Johnson , Juergen Hoeller , Keith Donald , Colin Sampaleanu , Rob Harrop , Thomas Risberg , Alef Arendsen , Darren Davison , Dmitriy Kopylenko , Mark Pollack ,Thierry Templier , Erwin Vervaet , Portia Tung , Ben Hale , Adrian Colyer , John Lewis , Costin Leau , Mark Fisher , Sam Brannen , Ramnivas Laddad , Arjen Poutsma ,Chris Beams , Tareq Abedrabbo , Andy Clement , Dave Syer , Oliver Gierke , Rossen Stoyanchev , Phillip Webb , Rob Winch , Brian Clozel , Stephane Nicoll , SebastienDeleuze 4.1.3

【Spring学习笔记(十一)】基于注解的SpringAop配置

淺唱寂寞╮ 提交于 2020-02-28 19:15:29
首先我们要配置好我们Maven项目中的pom.xml文件,这里主要是导入Spring和aspectj两个坐标。 <?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.itheima</groupId> <artifactId>day03_eesy_04AdviceTypeSpring</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> <

Spring(七)核心容器 - 钩子接口

旧街凉风 提交于 2020-02-28 14:28:48
文章目录 前言 1、Aware 系列接口 2、InitializingBean 3、BeanPostProcessor 4、BeanFactoryPostProcessor 5、ImportSelector 6、ImportBeanDefinitionRegistrar 7、FactoryBean 8、ApplicationListener 最后 前言 Spring 提供了非常多的扩展接口,官方将这些接口称之为钩子,这些钩子会在特定的时间被回调,以此来增强 Spring 功能,众多优秀的框架也是通过扩展这些接口,来实现自身特定的功能,如 SpringBoot、mybatis 等。 1、Aware 系列接口 Aware 从字面意思理解就是“知道”、“感知”的意思,是用来获取 Spring 内部对象的接口。Aware 自身是一个顶级接口,它有一系列子接口,在一个 Bean 中实现这些子接口并重写里面的 set 方法后,Spring 容器启动时,就会回调该 set 方法,而相应的对象会通过方法参数传递进去。我们以其中的 ApplicationContextAware 接口为例。 ApplicationContextAware 大部分 Aware 系列接口都有一个规律,它们以对象名称为前缀,获取的就是该对象,所以 ApplicationContextAware 获取的对象是