博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Spring】学习SpringIoC
阅读量:5026 次
发布时间:2019-06-12

本文共 2497 字,大约阅读时间需要 8 分钟。

Spring

是轻量级的容器和非侵占性的框架。

实现了Ioc容器
实现了AOP概念
提供对持久层与实务的支持
实现了MVC模式
一个全方位的应用程序框架

 

SpringIoC

Spring的IOC容器实现了对象的生命周期管理,降低了组件间的耦合度,将耦合推迟到了配置文件中,实现了软件各层的耦合。

提供了AOP支持,可以针对POJO对象提供声明式服务能力(如:声明式事务),分离了商业逻辑组件(核心关注点)和通用服务组件(横切关注点)。

减少了对Factory和Singleton的数量, 使代码层次更加清晰。

提供了众多的辅助类(如:JdbcTemplate、HibernateTemplate),加快了应用开发。

对于Hibernate Session或Jdbc Connection资源,应用将无需再处理打开和关闭。

对于主流的应用框架(如:Hibernate、JSF、Struts)提供了整合方案

一、JAR包

1 spring-framework-2.5.2\lib\jakarta-commons\commons-logging.jar2 spring-framework-2.5.2\lib\log4j\log4j-1.2.14.jar3 spring-framework-2.5.2\dist\spring.jar

 二、结构

三、代码

Clazz.java

1 package entity; 2  3  4 public class Clazz { 5     private String name; 6      7     //无参,构造方法 8     public Clazz(){ 9         System.out.println("-----Clazz()构造方法-----");10     }11     12     public Clazz(String name){13         this.name=name;14     }15     public String getName(){16         return name;17     }18     public void setName(String name){19         this.name=name;20     }21 }

Test.java

1 package test; 2  3 import org.springframework.beans.factory.BeanFactory; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 import entity.Clazz; 6  7 public class Test { 8      9     public static void main(String[] args)10     {11         12         BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");13         System.out.println("_______________");14         Clazz c1 = (Clazz) factory.getBean("clazz");15         16         System.out.println(c1.getName());17     }18 }

Test1.java

1 package test; 2  3 import org.springframework.beans.factory.BeanFactory; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5 import entity.Clazz; 6  7 public class Test1 { 8      9     public static void main(String[] args)10     {11         12         BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");13         Clazz c1 = (Clazz) factory.getBean("clazz");14         Clazz c2 = (Clazz) factory.getBean("clazz");15         16         System.out.println("c1==c2"+(c1==c2));17         System.out.println(c1.getName());18         c2.setName("zy131");19         System.out.println(c1.getName());//c1c2同一个对象20     }21 }

applicationContext.xml

1 
2 3
10 11
12
13 14
15 16
19
20 21 22

 

转载于:https://www.cnblogs.com/keepdancing/p/5278170.html

你可能感兴趣的文章
js 原生 ajax
查看>>
关键词 virtual
查看>>
建造者模式(屌丝专用)
查看>>
UVALive 4730 Kingdom +段树和支票托收
查看>>
[APIO2010]特别行动队
查看>>
[SCOI2016]幸运数字
查看>>
SpringBoot 集成ehcache
查看>>
初步swift语言学习笔记2(可选类型?和隐式可选类型!)
查看>>
Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
查看>>
在Vs2012 中使用SQL Server 2012 Express LocalDB打开Sqlserver2012数据库
查看>>
在Macos下完美解决Adobe Dreamweaver CC 2018 汉化及操作方法
查看>>
【转】 Newtonsoft.Json高级用法
查看>>
CodeBlocks X64 SVN 编译版
查看>>
Excel催化剂开源第42波-与金融大数据TuShare对接实现零门槛零代码获取数据
查看>>
bug记录_signalr执行$.connnection.testhub结果为空
查看>>
【转】常用的latex宏包
查看>>
[TMS320C674x] 一、GPIO认识
查看>>
酷狗的皮肤文件存放在哪
查看>>
iOS RunLoop简介
查看>>
C++的引用
查看>>