spring框架

Spring 是什么

故事扮演 提交于 2020-03-11 12:01:39
Spring 是一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力。 Spring 是分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的 JavaBean 完成以前只可能由 EJB 完成的工作,取代了 EJB 臃肿和低效的开发模式。 在实际开发中,通常服务器端采用三层体系架构,分别为表现层(web)、业务逻辑层(service)、持久层(dao)。 Spring 对每一层都提供了技术支持,在表现层提供了与 Struts2 框架的整合,在业务逻辑层可以管理事务和记录日志等,在持久层可以整合 Hibernate 和 JdbcTemplate 等技术。 Spring 具有简单、可测试和松耦合等特点,不仅可以用于服务器端的开发,也可以应用于任何 Java 应用的开发中。 Spring 框架的主要优点具体如下。 1 方便解耦,简化开发 Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。 2 方便集成各种优秀框架 Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如 Struts2、Hibernate、MyBatis

spring boot demo

巧了我就是萌 提交于 2020-03-11 11:54:06
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 62 个集成demo,已经完成 50 个。 该项目已成功集成 actuator( 监控 )、admin( 可视化监控 )、logback( 日志 )、aopLog( 通过AOP记录web请求日志 )、统一异常处理( json级别和页面级别 )、freemarker( 模板引擎 )、thymeleaf( 模板引擎 )、Beetl( 模板引擎 )、Enjoy( 模板引擎 )、JdbcTemplate( 通用JDBC操作数据库 )、JPA( 强大的ORM框架 )、mybatis( 强大的ORM框架 )、通用Mapper( 快速操作Mybatis )、PageHelper( 通用的Mybatis分页插件 )、mybatis-plus( 快速操作Mybatis )、BeetlSQL( 强大的ORM框架 )、upload( 本地文件上传和七牛云文件上传 )、redis( 缓存 )、ehcache( 缓存 )、email( 发送各种类型邮件 )、task( 基础定时任务 )、quartz( 动态管理定时任务 )、xxl-job( 分布式定时任务 )、swagger( API接口管理测试 )、security( 基于RBAC的动态权限认证 )、SpringSession( Session共享

微服务 SpringBoot 2.0(三):启动剖析之@SpringBootApplication

不想你离开。 提交于 2020-03-11 11:05:36
我原以为就一个注解,背后竟然还有3个 —— Java面试必修 引言 前面两章我们先后认识了SpringBoot和它的极简配置,为新手入门的学习降低了门槛,会基本的使用后,接下来我们将进一步认识SpringBoot,它为何能做到服务秒开,就来跟随我一起分析SpringBoot运行启动的原理吧。 启动原理分2章讲解,本章讲解 @SpringBootApplication 注解部分,若需了解 SpringApplication.run 方法部分请点击此处 运行启动 工具 SpringBoot版本:2.0.4 开发工具:IDEA 2018 Maven:3.3 9 JDK:1.8 首先我们看一段启动代码 @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } 这不就是个启动类嘛?从字面理解我都知道Spring启动的入口,有啥好看的。可别小瞧了这几行代码 开始推理 从上面代码来看, @SpringBootApplication 和 SpringApplication.run 长得很相似,比较诡异,所以我们从这两个开始分析,首先先看注解

Spring Boot MyBatis

不想你离开。 提交于 2020-03-11 10:17:57
Spring Boot 整合 Druid 概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。 Druid 是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括 DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid 已经在阿里巴巴部署了超过 600 个应用,经过多年生产环境大规模部署的严苛考验。Druid 是阿里巴巴开发的号称为监控而生的数据库连接池! 引入依赖 在 pom.xml 文件中引入 druid-spring-boot-starter 依赖 com.alibaba druid-spring-boot-starter 1.1.10 1 2 3 4 5 引入数据库连接依赖 mysql mysql-connector-java runtime 1 2 3 4 5 配置 application.yml 在 application.yml 中配置数据库连接 spring: datasource: druid: url: jdbc:mysql://ip

spring-boot系列:(一)整合dubbo

血红的双手。 提交于 2020-03-11 04:25:37
spring-boot-2整合dubbo 新框架学习,必须上手干。书读百遍,其义自见。 本文主要介绍spring-boot-2整合dubbo, 使用xml配置 实现一个provider和consumer。 1.创建Maven项目: spring-boot-parent:父工程,统一管理jar依赖,版本 spring-boot-service:子工程,dubbo服务提供方 spring-boot-web:子工程,dubbo服务消费方 2.spring-boot-parent: 父工程,统一管理jar依赖,版本 pom文件 <!--集中定义依赖版本号--> <properties> <maven_javadoc_version>3.0.1</maven_javadoc_version> <maven_surefire_version>2.19.1</maven_surefire_version> <spring-boot.version>2.1.2.RELEASE</spring-boot.version> <jedis.version>2.7.2</jedis.version> </properties> <!-- 就是管理版本的标签 其下的dependencies标签只是版本的管理 并不依赖jar--> <dependencyManagement> <dependencies>

Spring中的IOC是什么意思

大憨熊 提交于 2020-03-11 02:22:34
这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能。 大家好,我是IT修真院武汉分院的汪天驰,一枚正直纯洁善良的java程序员。 今天给大家分享一下,修真院官网java任务1,深度思考中的知识点—— Spring中的IOC是什么意思 (1)背景介绍: Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。 应用程序是由一组相互协作的对象组成。 Spring框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力, 还能帮我管理最头疼的数据库事务,本身提供了一套简单的JDBC访问实现,提供与第三方数据访问框架集成(如Hibernate、JPA),与各种Java EE技术整合(如Java Mail、任务调度等等),提供一套自己的web层框架Spring MVC、而且还能非常简单的与第三方web框架集成。 从这里我们可以认为Spring是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力,从而使我们可以更自由的选择到底使用什么技术进行开发。 Spring IOC SpringIOC-Iversion of

spring AOP(2)

强颜欢笑 提交于 2020-03-11 02:14:36
前面写过一篇关于 Spring AOP 方面的文章,探讨了 Spring AOP 底层实现的一些细节知识,这里面涉及到了 JAVA 反射机制,代理模式以及 CGLIB 库的使用。也就是说, Spring AOP 底层实现就是靠动态代理(针对有接口的类)和 CGLIB (针对没有实现接口的一般类),那么,有了这些知识,再辅佐对核心配置 XML 文件解析的能力,其实就可以实现一个简易的基于 IOC 和 AOP 的小框架,大家可以自己尝试着写一下。下面呢我们就由浅入深地来看看在 Spring 中 AOP 是怎么实现的。 最简单的 AOP 实现只需要涉及 3 个概念:目标 (Target) ,通知 (Advice) 和代理 (Proxy) 。目标呢,当然就是真实的需要被代理的对象,一般它会实现至少一个接口。通知呢,就是当目标的方法调用时需要调用的代码,也叫拦截器。而代理,毫无疑问就是加入了通知的目标了,它可以作为目标的替身出现。为了说明这三者的关系,我们来看一个网上有趣的小例子:一间书店开始打折促销,规则是每一名顾客只能买一本书,并且当顾客来到书店时,要说喜欢您来。顾客走的时候,还要说喜欢您再来!(麦当劳啊 ^_^ ) 顾客如果买到 <hibernate in action> 这本书,要抛出异常,告知他没有存货!呵呵,好啦,洪哥,我们动手吧! package com.wepull

Spring Boot随笔

这一生的挚爱 提交于 2020-03-11 01:00:47
Spring框架为开发Java应用程序提供了全面的基础架构支持,包含了如依赖注入和开箱即用的一些功能模块。 eg:Spring JDBC,Spring MVC,Spring AOP,Spring ORM Spring Boot是Spring框架的扩展,消除了设置Spring应用程序所需要的XML配置,优点如下: 约定优于配置(具体体现在Spring Boot Starter) 1.创建了独立的Spring应用 2.内嵌Tomcat、jetty等服务器 3.尽可能自动配置Spring应用 4.提供了staters,poms来简化Maven配置 工作原理: Spring Boot在启动时会去依赖的Starter包寻找resources/META-INF/Spring.factories文件,根据spring.factories配置加载Autoconfigure类,根据@Conditional注解的条件,进行自动配置,并将Bean注入Spring context 自动配置是如何实现的: 启动注解是@SpringBootApplication,它由@configuration,@EnableAutoConfiguration组成,@EnableAutoConfiguration是自动配置的入口。 ioc:控制反转,将多个Object对象分 开,在中间做管理,降低耦合性 AOP:面向切面编程

Spring必备知识点(一)

你离开我真会死。 提交于 2020-03-10 23:48:38
Spring框架的7个模块 组成 Spring框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: 核心容器 : 核心容器提供 Spring框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用 控制反转 (IOC)模式将 应用程序的配置和依赖性规范 与 实际的应用程序代码 分开。 那么我们该如何理解:BeanFactory和FactoryBean 1、 BeanFactory BeanFactory定义了IOC容器的最基本形式,并提供了 IOC 容器应遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底层和最基本的编程规范。在Spring代码中,BeanFactory 只是个接口,并不是 IOC 容器的具体实现,但是 Spring 容器给出了很多种实现,如 DefaultListableBeanFactory 、 XmlBeanFactory 、 ApplicationContext 等,都是附加了某种功能的实现。 2、 FactoryBean 一般情况下,Spring通过反射机制利用<bean>的class属性指定实现类实例化Bean,在某些情况下,实例化Bean过程比较复杂,如果按照传统的方式,则需要在<bean>中提供大量的配置信息。配置方式的灵活性是受限的

怎么找基于SSM的系统设计定做找我们

别等时光非礼了梦想. 提交于 2020-03-10 17:21:24
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。 Spring   Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。   Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地 new 一个对象,而是让Spring框架帮你来完成这一切。 SpringMVC   SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。 我们拥有专业的写手团队和严格的保密制度.我们的工程师们在软件工程开发与设计的各个领域积累了丰富的经验,保证服务水平。近两年,每季我们都帮助至少50位以上的计算机专业同学通过了设计测试,把设计给他们做好,服务好每一位同学是我们义不容辞的责任. 可以加我的.扣.扣.号(幺零三贰三七幺贰幺)(别用TIM),大家一起讨论学习 mybatis   mybatis是对jdbc的封装