如何实现Spring?
1、spring的依赖包配置*SPRING_HOME/dist/spring.jar
*SPRING_HOME/lib/log4j/log4j-1.2.14.jar
*SPRING_HOME/lib/jakarta-commons/commons-logging.jar
2、提供spring配置文件applicationContext.xml
[html]
<?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">
</beans>
3、提供log4j.properties配置文件,放在classpath能够找到的地方.
4、在UserManager中提供构造函数,让spring将UserDao实现注入(DI)过来
[java]
package com.tgb.spring.manger;
import com.tgb.spring.dao.UserDao;
import com.tgb.spring.dao.UserDaoMysqlImpl;
/**
*
* @title UserManager 通过Spring注入实现
* @project_name spring_why_spring
* @author jnqqls
* @group TGB
* @version 1.0
* @comments
*/
public class UserManagerImpl implements UserManager {
// 因为UserDao为没有状态的类,所以可以定义为成员变量
private UserDao userDao;
/**
* 可以通过构造方法赋值
*
* @param userDao
*/
public UserManagerImpl(UserDao userDao) {
this.userDao = userDao;
}
@Override
public void addUser(String username, String password) {
userDao.addUser(username, password);
}
}
5、让spring管理我们对象的创建和依赖,必须将依赖关系配置到spring的核心配置文件中
[html]
<?xml version="1.0" encoding="UTF-8"?>
<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"
xmlns="http://www.springframework.org/schema/beans"
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="userDao4Mysql"
class="com.tgb.spring.dao.UserDaoMysqlImpl" />
<bean
id="userDao4Oracle"
class="com.tgb.spring.dao.UserDaoOracleImpl" />
<bean
id="userManager"
class="com.tgb.spring.manger.UserManager" >
<!-- 描述依赖关系 UserManager 依赖MySql的实现,会先找到UserDaoMysqlImpl,然后New好对象,随后将对象注入到构造函数中.-->
<!-- 你找女朋友和女朋友找你是不一样的 -->
<constructor-arg ref="userDao4Mysql"></constructor-arg>
</bean>
</beans>
6、编写客户端
[java]
package com.tgb.spring.client;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.tgb.spring.dao.UserDaoMysqlImpl;
import com.tgb.spring.manger.UserManager;
import com.tgb.spring.manger.UserManagerImpl;
/**
*
* @title Spring实例客户端
* @project_name spring_why_spring
* @author jnqqls
* @group TGB
* @version 1.0
* @comments
*/
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
// 请求IOC容器,读取配置文件,根据配置文件创建UserManager对象
BeanFactory beanFactory = new ClassPathXmlApplicationContext(
"applicationContext.xml");
&
补充:软件开发 , Java ,
上一个:java连接Neo4j服务器
下一个:Java之泛型编程
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- jsp+javaBean中Column 'ordersPrice' specified twice的错误
- Java TCP/IP Socket网络编程系列
- 大家来讨论一下我到底该用什么好?Swing 还是 JavaFX
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- spring 获取上下文问题
- SSH 导入导出excel 谁有这块的资料吗?
- Ext TreePanel 刷新问题
- springmvc 加载一个jsp页面执行多个方法 报404
- checkbox数组action怎么向页面传值