Spring 初体验

一直以来,都有听说Java三大开源框架,如雷贯耳,但是一直没有体验过,今天开始逐步体验下这三大开源框架,今天先从Spring开始。

在等待maven构建项目的这段时间,先去查查 Spring的优势?为什么要使用Spring?

    1. Spring的ICO容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们可以更加专注于业务逻辑。
    2. 可以提供众多服务,事物管理。
    3. AOP的很好支持,方便面向切面编程。
    4. 对主流框架提供了很少的集成支持,如:Hibernate Struts2等。
    5. Spring DI机制降低了业务对象替换的复杂性。
    6. Spring属于低侵入,代码污染极地
    7. Spring的高度开放性,并不强制依赖于Spring,开发者可以自由选择Spring的全部或者部门。

名词解释:

DI: Dependency Injection 依赖注入 和控制反转是一个概念,具体来讲,当一个角色需要另一个角色协助的时候,传统的程序设计中,通常由调用者来创建被调用者的实例。但是在Spring中,创建被调用者将不再由调用者完成,因此也叫作控制反转(Inversion of Control)。创建被调用对象由Spring来完成,在容器实例化对象的时候主动的将被调用者(也可以说是依赖对象)注入给调用对象,因此也叫作依赖注入。

AOP:面向切面编程,通过让业务逻辑从应用服务(如事物管理)中分离出来,实现高内聚开发,应用对象只关心业务逻辑,不在负责其它系统问题(日志,事物)。Spring支持用户自定义切面。

面向切面编程是面向对象编程的有力补充,面向对象编程将程序分成各个层次的对象,面向切面的程序将程序运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP是静态的抽象,AOP是动态的抽象,是对应用程序执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。

容器:Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。如 对象的创建,销毁,回调等。

框架:Spring作为一个框架,提供了一些基础的功能,如事物管理,持久层集成等,是开发人员专注于开发应用逻辑。

言归正传,开始体验

体验之旅一,Building a RESTful Service 参考链接: https://spring.io/guides/gs/rest-service/

时间: 2024-10-24 06:46:59

Spring 初体验的相关文章

Spring学习初体验

一.首先我们要明确我们为什么要学?在我们学习了javaweb基础后,我们基本可以完成基本的网站要求,但是我们为什么要学习和使用使用Spring? 1.降低组件之间的耦合度,实现软件各层之间的解耦. controller----->service--------->dao 2.可以使用容器几桶的众多服务.如:事务管理服务.消息服务.当我们使用容器管理时,开发人员就不再需要手工控制事务,也不需处理复杂的事务传播. 3.容器提供单例模式支持,开发人员不再需要自己编写实现代码. 4.容器提供了AOP技

215.Spring Boot+Spring Security:初体验

[视频&交流平台] SpringBoot视频:http://t.cn/R3QepWG Spring Cloud视频:http://t.cn/R3QeRZc SpringBoot Shiro视频:http://t.cn/R3QDMbh SpringBoot交流平台:http://t.cn/R3QDhU0 SpringData和JPA视频:http://t.cn/R1pSojf SpringSecurity5.0视频:http://t.cn/EwlLjHh 说明 (1)JDK版本:1.8 (2)Sp

spring cloud 初体验

spring cloud分为注册端.客户端以及消费端 初体验的理解就是: 注册端就是将之前所有的应用在这边进行注册,然后给每个应用都生成自己的标识,这些应用就是来自于客户端,消费端则通过调用注册端(有点数据中心的概念)然后去调用客户端各个的应用. 1.注册端代码: 直接创建maven项目: pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven

JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中

JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中 一.JMS的理解JMS(Java Message Service)是jcp组织02-03年定义了jsr914规范(http://jcp.org/en/jsr/detail?id=914),它定义了消息的格式和消息传递模式:消息包括:消息头,消息扩展属性和消息体,其结构看起来与SOAP非常的相似,但一般情况下,SOAP主要关注远程服务调用,而消息则专注于信息的交换:消息分为:消息生产者,消息服务器和消息消费者.生产者与消费者之间

Node.js 网页瘸腿爬虫初体验

延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require('fs'); // 创建一个将流数据写入文件的WriteStream对象 var outstream=fs.createWriteStream('./1.txt'); /

SpringBoot初体验及原理解析

一.前言 ? 我们来用SpringBoot开始HelloWorld之旅.SpringBoot是Spring框架对"约定大于配置(Convention over Configuration)"理念的最佳实践.SpringBoot应用本质上就是一个基于Spring框架的应用.我们大多数程序猿已经对Spring特别熟悉了,那随着我们的深入挖掘,会发现SpringBoot中并没有什么新鲜事,如果你不信,那就一起走着瞧呗! 二.SpringBoot初体验 首先,我们按照下图中的步骤生成一个Spr

IDEA+SpringBoot MyBatis Dynamic SQL的初体验(二)

在上节IDEA+SpringBoot MyBatis Dynamic SQL的初体验(一)中,讲解了Mybatis Dynamic SQL数据库生成https://www.cnblogs.com/hjm0928/p/9955228.html 现在那看一下怎么使用 先看一下项目结构 可以看到实体类,Mapper文件和DynamicSqlSupport文件都生成成功了 第一步 修改application.properties修改为application.yml  内容如下 spring: datas

SpringCloud Feign 之 Fallback初体验

SpringCloud Feign 之 Fallback初体验 在微服务框架SpringCloud中,Feign是其中非常重要且常用的组件.Feign是声明式,模板化的HTTP客户端,可以帮助我们更方便快捷调用HTTP API.本文主要针对Feign的熔断机制Fallback进行简单介绍.Fallback主要是用来解决依赖的服务不可用或者调用服务失败或超时,使用默认的返回值. 1.引入Feign pom依赖包 <dependency> <groupId>org.springfram

erlang 初体验

最近测试了一下 erlang的坑... 如不出意外.... 大家第一眼看到这语法... 心里第一句一定是"我擦.这TM都是啥!!!!!" 没有变量!!! 没有结构体!!! 没有循环!!! 好吧,至少我是这样想的. 找了半天..连个if也不知道怎么写.. 这记录一些基本常识.. -module(module_name)  %%定义模块 括号内的要和文件名相同. -export([fun1/1 fun2/2]) %%这里是导出2个函数对外使用  函数名/参数名. 一个简单的函数定义如下 f