Spring 学习(一)
来源:互联网 发布:淘宝商城牛仔男装裤子 编辑:程序博客网 时间:2024/05/21 19:35
spring概述
首先我们说Spring是一个轻量级的j2ee开源框架,它的作用是为了解决企业应用开发程序的复杂性而创建的,该框架的主要优势是其良好的设计及分层架构。同时,Spring还提供了和其他开源软件的无缝结合,为j2ee应用程序的开发提供了集成的框架。
spring核心
spring的核心是控制反转——ioc,通过配置文件来完成业务对象之间的依赖注入,它鼓励一个良好的习惯,那就是注入对接口的编程而不是对类的编程。
spring给软件开发带来了什么
方便解耦,简化开发
AOP编程的支持
方便集成各种优秀框架(整合struts2,hibernate等)
降低了Java API的使用难度(Spring提供大量工具类,简化代码的编写)
Spring的体系结构
对应jar包
下载地址:http://download.csdn.net/detail/readgo_xxg/5322489
下载完整spring jar包
jar包目录结构
docs 文档目录(api 和 规范)
libs 开发需要的jar包
schema 所有约束文件
导入jar包
进行ico 和 DI 的开发只需要导入spring的核心jar包即可
Spring运行,使用commons-logging日志技术
(commons-logging 和 slf4j 都属于统一日志接口, 整合log4j日志实现 )
导入log4j jar
理解 IOC 和 DI
什么是IOC 什么是DI
IOC: 控制反转,用来解决程序对象耦合问题,将程序中原来构建实例对象的权限交与IOC容器处理,当程序需要对象时,找IOC容器获取
DI: 依赖注入,指程序运行中,如果需要调用另一个对象协助时,无须在创建被调用者的对象,而是依赖外部的注入用以使用
传统代码
//测试 @Test public void TestRegist(){ UserServlet userServlet = new UserServlet(); userServlet.regist(); }//表现层public void regist(){ System.out.println("注册用户 + ..."); //传统写法 UserService userService = new UserService (); userService.regist();}//业务层public void regist(){ System.out.println("注册用户 + ..."); //传统写法 UserDao userDao = new UserDao(); userDao.regist();}
现如今将所有对象,交给 IOC 容器(Spring)来管理
(Spring配置文件通常在src或者WEB-INF下,通常名称叫做 applicationContext.xml )
可以参考下载的spring包 docs目录下的 xsd-config.html 文档
通过applicationContext.xml 配置Spring管理对象
在程序中通过applicationContext接口获取spring工厂对象
ClassPathXmlApplicationContext对象 读取src下的配置文件
FileSystemXmlApplicationContext对象 读取WEB-INF下的配置文件
新建配置文件
<!-- 将对象的创建权,交给容器管理 --> <bean id="userServlet" class="com.qyf.UserServlet" > <!-- 返回UserServlet时,同时提供 依赖的UserService对象 --> <!-- name 属性 对应 对象中 setXXX 方法, 代表对象中含有某个属性 ref 引用了另一个Bean对象id --> <property name="userService" ref="userService" /> </bean> <bean id="userService" class="com.qyf.UserServiceImpl"/> <bean id="userDAO" class="com.qyf.UserDAOImpl" />
IOC通过工厂,从容器中获取创建完成的对象
@Testpublic void testRegist(){ //从IOC容器中获取工厂对象 ApplicationContext applicationContext = ClassPathXmlApplicationContext("applicationContext.xml"); //从IOC容器工厂中获取所需对象 (通过配置文件中的bean节点的id属性) UserServlet userServlet = (UserServlet)applicationContext.getBean("userServlet"); //使用对象方法 userServlet.regist();}
在通过 IOC 工厂获取对象时,首先要生成对应配置文件的Set方法,Spring 才会提供所需对象
// 依赖注入 (Spring 在构造 UserServlet对象时,同时将构造好 UserService对象,注入到UserServlet对象中 )private UserService userService;public void setUserService(UserService userService){ this.userService = userService;}
以上是简单的Spring 的使用 ,之后还有关于配置文件的编写,AOP的使用,之后会介绍到。
总而言之 Spring 框架单独使用并没有感觉功能强大,但和其他框架共同使用将会彰显它的魅力。
- Spring学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring 学习(一)
- Spring学习(一)
- spring学习(一)
- spring学习(一)
- Spring 学习(一)
- spring 学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring学习(一)
- Spring学习系列-----(一)Spring概述
- 【Spring学习笔记】Spring事务管理(一)
- Oracle查看表或者视图的定义语句
- AndroidImageSlider三分钟快速集成酷炫自动轮播广告
- android大分辨率问题
- 微信小程序开发之『侧边栏滑动』特效
- Qt 转发两串口数据(一、命令行版)
- Spring 学习(一)
- Unity快速创建项目常用的文件夹
- 一趟快排
- IM基础:XMPP协议相关
- 【NOIP2017模拟12.3】子串
- tomcat servlet初步了解
- Java事件类型
- Android打包的那些事
- 浅谈数据仓库的基本架构