`
86asm
  • 浏览: 200449 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring入门:(一)

阅读更多

一、理论知识

1.依赖注入、控制反转

依赖注入:在运行期,由外部容器动态地将依赖对象注入到组件中
控制反转:应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部窗口负责得。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转。

2.spring的主要特性。

1)降低组件之间的耦合度,实现软件各层之间的解耦。
2)可以使用容器提供的众多服务,如:事务管理服务、消息服务、JMS服务、持久化服务等等。
3)容器提供单例模式支持,开发人员不再需要自己编写实现代码。
4)容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。
5)容器提供的众多辅作类,使用这些类能够加快应用的开发,如:JdbcTemplateHibernateTemplate.
6)对主流的应用框架提供了集成支持。

3.常用技术

控制反转/依赖注入---面向切面编程---与主流框架的整合、管理

 

二、基本实例

1.准备搭建环境

dist\spring.jar

lib\jakata-commons\commons-loggin.jar

如果使用了切面编程,还需下列jar文件:

lib\aspectj\aspectjweaver.jaraspectjrt.jar

lib\cglib\cglib-nodep-2.1.3.jar

如果使用了jsr-250中的注解,还需要下列jar文件:

lib\j2ee\common-annotations.jar

 

 

beans.xml配置文件在此省略(见下)。运行此测试如无错,则说明环境搭建成功。
说明:beans.xml可以在类路径下进行配置,也可以在具体的目录下配置。可以是一个配置文件,也可以是多个配置文件组成String数组传入。

3.实例

作如下准备工作:

1)建立UseDao接口,代码如下:

package com.asm.dao;
public interface UserDao {
	void save();
}

 

 2)建立UserDao接口的实现类,

UserDaoImpl。代码如下:

 

 3)在src目录下配置此beans.xml,它的配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	<bean id="userDaoImpl" class="com.asm.dao.impl.UserDaoImpl" />
</beans>

 

说明:bean代表一个实质的java类,通过它的id可以获取此类的一个对象。
补充:让xml配置文件在编译时提示

[windows][preferences][myeclipse][files and editors][xml][xml catalog] add,在出现窗口的location中选“file system,然后在spring解压目录的dist/resources目录中选择“spring-beans-2.5.xsd,并将key Type值改为“Schema Location”,key值为:http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

4Junit测试单元SpringEnvTest中增加如下代码测试:

@Test
public  void base() {
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		UserDao userDao = (UserDao) ctx.getBean("userDaoImpl");
		userDao.save();
}

 

以上的代码就是通过配置文件beans.xml获取所需要的实例对象。

分享到:
评论
1 楼 lshoo 2010-07-13  
博主用的什么教材学习Spring?

相关推荐

Global site tag (gtag.js) - Google Analytics