框架技术--S2SH框架整合(spring部分)No 1
来源:互联网 发布:java中图片上传 编辑:程序博客网 时间:2024/05/29 17:45
spring框架核心和思想是控制反转、依赖注入。
是控制反转、依赖注入(IOC、DI):由容器来管理对象之间的依赖关系叫做控制反转或依赖注入。
下面是一个使用spring框架简单的例子,用来描述依赖注入。
1、首先需要引入JAR包: spring.jar、log4j-1.2.14.jar、commons-logging.jar。
2、创建web项目,增加以下几个packege:
3、在Dao包中增加1个接口,2个实现类。
接口UserDao
package spring.Dao;public interface UserDao {public void save();}
实现类FirstUserDao
package spring.Dao;public class FirstUserDao implements UserDao {public void save() {// TODO Auto-generated method stubSystem.out.println("----------firstUserDao-------------");}}
实现类SecondUserDao
package spring.Dao;public class SecondUserDao implements UserDao {public void save() {// TODO Auto-generated method stubSystem.out.println("----------secondUserDao-------------");}}
4、在service包中增加1个接口,1个实现类
接口UserService
package spring.Service;public interface UserService {public void save();}
实现类UserServiceImpl
package spring.Service;import spring.Dao.FirstUserDao;import spring.Dao.UserDao;public class UserServiceImpl implements UserService {private UserDao userDao;public void save() {// TODO Auto-generated method stubthis.userDao.save();}public void setUserDao(UserDao userDao) {this.userDao = userDao;}}
5、在src目录下增加spring的配置文件applicationContext.xml,在配置文件中ID的值是不能重复的,xml中通过<property name="userDao" ref="SecondUserDao>行为userdao注入SecondUserDao这个类。
因为UserServiceImpl类中save方法中调用userDao.save(),因为UserDao是一个接口,他对应有2个实现类,这时我们需要知道调用的是该接口的哪个实现类,没用框架的话我们会通过UserServiceImpl.setUserDao(“对应的实现类”)来实现,但使用spring框架后这个操作就由xml配置进行,这个也就是spring的依赖注入的概念。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"><bean id="FirstUserDao" class="spring.Dao.FirstUserDao"></bean><bean id="SecondUserDao" class="spring.Dao.SecondUserDao"></bean><bean id="UserServiceImpl" class="spring.Service.UserServiceImpl"><property name="userDao" ref="SecondUserDao"></property></bean></beans>
6、在test包下,增加测试代码,ClassPathXmlApplicationContext这个类是检查当前class文件路径中是否存在applicationContext.xml。
package spring.test;import org.springframework.beans.factory.BeanFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;import spring.Service.UserServiceImpl;public class test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubBeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");UserServiceImpl userServiceImpl = (UserServiceImpl) factory.getBean("UserServiceImpl");userServiceImpl.save();}}
目录结构如图:
- 框架技术--S2SH框架整合(spring部分)No 1
- 框架技术--S2SH框架整合(hibernate部分) No 1
- 框架技术--S2SH框架整合(spring部分)No 2--属性注入
- 框架技术--S2SH框架整合(spring部分)No 3--声明式事务
- 框架技术--S2SH框架整合(异常)No 1
- 框架技术--S2SH框架整合(注解 No 1)
- 框架技术--S2SH框架整合(struts2部分)
- 框架技术--S2SH框架整合(遇到的问题)NO 1
- Spring S2SH框架整合(一)
- 框架技术--S2SH框架整合(使用myeclipse自动生成)
- s2sh框架整合
- S2SH框架整合案例
- Java S2SH框架整合
- s2sh框架中spring注入错误-no getter
- S2SH框架整合(注解)Struts2+Spring+Hibernate+MySql
- s2sh三大框架整合
- 基于MyEclipse 8.0 GA整合S2SH框架实例教程(一)
- S2SH三大框架的整合(配置文件篇)
- SQL查询前10条记录(SqlServer/mysql/oracle/sybase)[语法分析] (转)
- Nutch 框架
- C# 网络编程之最简单浏览器实现
- CUDA从入门到精通(十):性能剖析和Visual Profiler
- Erlang二进制创建的内部机制和优化(一)
- 框架技术--S2SH框架整合(spring部分)No 1
- 黑马程序员--Java异常处理机制
- C# 检查网络是否连通,判断远程文件是否存在
- HDU4608 I-number
- c# 判断远程文件是否存在
- 8086 CPU 寄存器简介
- C++数据结构与STL--递归--进制转换
- win7下oracle(sqlplus)不能登录
- DRP项目总结