spring框架

Spring是什么、spring容器、Spring三大核心思想DI(依赖注入)、IOC(控制反转)、AOP(面向切面编程)

走远了吗. 提交于 2020-04-08 06:59:19
1.Spring (1)Spring是什么? 是一个轻量级的、用来简化企业级应用开发的开发框架。 注: a.简化开发: Spring对常用的api做了简化,比如,使用Spring jdbc来访问数据库,就不用再考虑如何获取连接、关闭连接、处理异常等等。 b.解耦: Spring容器(Spring框架的一个模块)帮我们管理 对象(包括对象的创建及对象之间的依赖关系), 这样一来,对象之间的耦合度会大大降低,提供高了 系统的维护性。 c.集成其它框架: Spring可以将其它一些常用的框架集成进来,比如 可以将Quartz,MyBatis等集成进来。 (2)Spring容器 1)Spring容器是什么? Spring框架的一个核心模块,用于管理对象。 注: 管理对象指的是,spring容器会用我们创建对象, 并且建立对象之间的依赖关系。 2)如何启动Spring容器? step1.导包。 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.8.RELEASE</version> </dependency> step2.添加配置文件(applicationContext.xml)。 将配置文件添加到main/resources下。

Spring Boot创建一个HelloWorld项目

不羁岁月 提交于 2020-04-08 02:41:46
目录 Spring Boot 简介 微服务框架 以前使用spring开发web的方式 Spring Boot 启动器介绍 如何创建一个helloword的SpringBoot项目 Spring Boot 简介 Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。SpringBoot不是什么新的框架,它只是默认配置了很多框架的使用方式。 Spring Boot设计目的是用来简化spring应用的初始化环境搭建以及开发过程。 嵌入tomcat服务器,无需部署war文件。 Spring Boot并不是spring功能的增强,而是提供了一种快速使用spring的方式。 说明:jdk1.7 使用spring boot 2.0以下版本, jdk1.8 使用spring boot 2.0以上版本 微服务框架 Spring Boot Spring Data Spring Cloud 以前使用spring开发web的方式 1:创建web项目,导入相关jar包 2:创建web.xml文件,创建application.xml,springmvc.xml配置文件 3:编写控制器Controller 4:需要部署web项目到服务器 tomcat 开发起来比较麻烦 Spring Boot

学习Spring——两个你熟悉的不能再熟悉的场景使用

≡放荡痞女 提交于 2020-04-08 02:11:38
 最近公众号受邀获取了留言和赠送模板的权限,小开心(欢迎去公众号JackieZheng围观)。   我们大致的了解了Spring这个框架对于依赖注入的使用和诠释可谓是淋漓尽致。因为有了Spring的这个IOC也好DI也好,我们把上街买菜的事情变成了菜主动送上门的活,这样的“生活方式”大大的提高了我们对于Spring框架的用户体验。   今天主要说两件事,想必凡是稍稍接触过Spring框架开发的对于这些场景肯定都是眼熟透了——Spring如何使用多个外部属性文件以及基于注解方式配置Bean。 1. Spring使用多个外部属性文件   这个截图并不稀奇,甚至完全看不出什么逻辑,下面分别贴出各个配置文件的内容   beans.xml 1 2 3 4 5 6 7 8 ... < bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> < property name="driverClassName" value="${jdbc.driver}"/> < property name="url" value="${jdbc.url}"/> < property name="username" value="${jdbc.username}"/> <

tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)

谁都会走 提交于 2020-04-07 19:26:58
之所以 sockjs 会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都不愿意或者不会升级(通常我们做IT的认为很简单的事情,在其他行业的人来看,那就是天书,不要觉得不可能,现实已如此)。 现在言归正传,这里完整的讲下在 spring 4.x 集成sockjs,以及运行在tomcat 7下时的一些额外注意事项。 spring websocket依赖jar: <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version> <scope>provided</scope> <!-- 注意,scope必须为provided,否则runtime会冲突,如果使用tomcat 8,还需要将TOMCAT_HOME/lib下的javax.websocket-api.jar一并删除 --> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-websocket</artifactId>

Spring(二):配置和简单使用

纵然是瞬间 提交于 2020-04-07 05:46:03
1、下载地址(目前使用的是4.2.0) 下面都可以 http://repo.springsource.org/libs-release-local/org/springframework/spring http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 源码可以在Git上获取, 地址: https://github.com/spring-projects/spring-framework 2、相关jar包 Spring AOP:Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects:Spring提供的对AspectJ框架的整合 Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等。 Spring Context:在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。 Spring Context Support:Spring context的扩展支持,用于MVC方面。 Spring Core:Spring的核心工具包 Spring expression:Spring表达式语言 Spring Framework

Spring Cloud 系列之 Netflix Zuul 服务网关

北城余情 提交于 2020-04-06 16:23:30
什么是 Zuul      Zuul 是从设备和网站到应用程序后端的所有请求的前门。作为边缘服务应用程序,Zuul 旨在实现动态路由,监视,弹性和安全性。Zuul 包含了对请求的 路由 和 过滤 两个最主要的功能。   Zuul 是 Netflix 开源的微服务网关,它可以和 Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心是一系列的过滤器,这些过滤器可以完成以下功能: 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产试图 动态路由:动态地将请求路由到不同的后端集群 压力测试:逐渐增加只想集群的流量,以了解性能 负载分配:为每一种负载类型分配对应容量,并弃用超出限定值的请求 静态响应处理:在边缘位置直接建立部份响应,从而避免其转发到内部集群\ 多区域弹性:跨越AWS Region进行请求路由,旨在实现ELB(Elastic Load Balancing)使用的多样化,以及让系统的边缘更贴近系统的使用者    什么是服务网关      API Gateway(APIGW / API 网关),顾名思义,是出现在系统边界上的一个面向 API 的、串行集中式的强管控服务,这里的边界是企业 IT 系统的边界,可以理解为 企业级应用防火墙 ,主要起到 隔离外部访问与内部系统的作用

Spring中的设计模式:工厂方法模式

前提是你 提交于 2020-04-06 13:41:54
导读 工厂方法模式是所有设计模式中比较常用的一种模式,但是真正能搞懂用好的少之又少,Spring底层大量的使用该设计模式来进行封装,以致开发者阅读源代码的时候晕头转向。 文章首发于微信公众号【码猿技术专栏】,原创不易,谢谢支持!!! 今天陈某分别从以下五个方面详细讲述一下工厂方法模式: 「从什么是工厂方法模式」 「通用框架实现」 「工厂方法模式的优点」 「工厂方法模式的升级」 「Spring底层如何使用工厂方法模式」 什么是工厂方法模式? 定义:定义一个用于创建对象的 接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式通用类图如下: 在工厂方法模式中,抽象产品 Product 负责定义产品的特性,实现对事物的抽象定义。 AbstractFactory 是抽象工厂类,定义了一个抽象工厂方法。具体的如何创建产品由工厂实现类 ConcreteFactory 完成。 通用框架实现 工厂方法模式的变种有很多,陈某给出一个比较实用的通用框架。 抽象产品类 : public abstract class Product { /** * 公共逻辑方法 */ public void method1(){} /** * 抽象方法:由子类实现,根据业务逻辑定义多个 */ public abstract void method2(); } 具体产品类1 ,继承抽象产品类

spring配置文件的基本语法

天大地大妈咪最大 提交于 2020-04-06 10:11:05
1.spring配置文件的基本语法:applicationContext.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd "> <bean name="user" class="cn.example.bean.User" scope="singleton" init-method="init" destroy-method="destory"></bean> <!-- 导入其他spring配置文件 --> <!-- <import resource="cn/example/applicationContext.xml"/>--> </beans> bean元素: 代表一个javaBean对象 class属性: 被管理对象的完整类名. name属性:

Spring AOP+注解 实现完美日志记录

走远了吗. 提交于 2020-04-05 21:50:44
Spring IOC 及其 AOP是其两大核心功能,本篇介绍下AOP的相关实际知识和实际应用。下面先简单介绍下aop的概念和基础使用。 一、基本介绍 AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。 使用"横切"技术,AOP把软件系统分为两个部分: 核心关注点 和 横切关注点 。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日志、事物。AOP的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。业务处理的代码完全不知道他会被代理,他也不清楚自己在执行前后会发生什么事情。 核心关注点 和 横切关注点 是完全不相干的两种的处理方式。 AOP核心概念 1、横切关注点 对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点 2、切面

搭建一个简单的SMM框架

杀马特。学长 韩版系。学妹 提交于 2020-04-05 20:54:20
SSM框架整合 Spring + Spring MVC + MyBatis Spring MVC 负责实现 MVC 设计模式,MyBatis 负责数据持久层,Spring 负责管理 Spring MVC 和 MyBatis 相关对象的创建和依赖注入。 创建 Maven 工程,pom.xml <?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>janeroad</groupId> <artifactId>ssm</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>ssm Maven Webapp</name> <!-- FIXME change it to the