栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

对Spring的理解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

对Spring的理解

1

Spring是个开源框架,为了解决企业级应用开发而创作出来。Spring不仅仅局限于服务端开发,而且任何的java应用都能借助于spring变得更简单,可测试性强,松耦合性好(彼此之间的信息最少)。

2

Spring框架有哪些特征?

1)轻量

从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。

2)控制反转(IOC)

可以不用new方法来创建对象,Spring框架可以实现所有对象的创建和依赖关系维护。

举例:(传统的程序设计:)

使用IOC/DI容器后程序设计:

3)面向切面编程(AOP)

AOP解决了什么问题?
主要是在程序开发中用来解决一些系统层面上的问题,比如日志,食物,让权等待。

举例:从事务的层面来理解AOP
比如我们现在要做一个ATM系统。

假设有这样的两个流程:

1.开始 -> 验证用户 -> 取款 -> 结束。
2.开始 -> 验证用户 -> 显示余额 -> 结束。

我们可以发现,验证用户的代码明显重复了,这不符合我们的低耦合,高内聚的思想。这是aop就起作用了。

作用实例图:


我们可以写一个验证用户的类,然后依次跟取款,查询,转账绑定,就不用费事的写三遍了。为什么说是面向切面,因为我们从图中可以看出,验证用户这一条线,切了取款,查询,转账的操作。

关键代码举例:


  
  
  
     
       

User.java

package cn.its.aop;
 
public class User {
  
	
	public void Withdraw() {
		
		System.out.println("我要取一个亿");
 
	}
	
	 public  void query() 
      {
	 System.out.println("我要查我还有多少钱");
      }
}

Verification.java

package cn.its.aop;
 
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
//@Component(value="user") 对象注解
//aop注解
//Transactional 事务注解
 
@Aspect  //切面
public class Verification {
     @Before(value = "execution(* cn.itcast.aop.User.*(..))")//表示User内所有的方法 都要验证
	 public void before1(){
	         System.out.println("我要验证你 是不是我的用户");
		 System.out.println("|");
		 System.out.println("V");
		 
	 }
}

运行结果:

我要验证你是不是我的用户
|
V
我要取一个亿

我要验证你是不是我的用户
|
V
我要查我还有多少钱。

3

方便集成各种优秀的框架

4

方便程序的测试,spring对junit4支持。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297729.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号