What?
Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson创建,称为轻量级容器架构。在项目中怎么应用呢,现在就随我来搭一下它的环境。
环境搭建
下载资料
首先下载关于spring的资料。http://download.youkuaiyun.com/detail/u013037201/9592897之后搭建环境所用资料从其中得到。
建java项目,引jar包
SPRING_HOME/dist/spring.jar
SPRING_HOME/lib/log4j/log4j-1.2.14.jar
SPRING_HOME/lib/jakarta-commons/commons-logging.jar
提供spring配置文件applicationContext.xml
<span style="font-size:18px;"><?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></span>
提供log4j.properties配置文件
目的是能够在控制台显示日志信息。
建目录结构
在src下分别建dao层,manager层,client层,并分别在各层中建接口和类。整个java项目基本目录结构如下。
以打印一条信息为例
UserDao.java(接口类)
<span style="font-size:18px;">package com.tgb.spring.dao;
public interface UserDao {
public void addUser(String username,String password);
}
</span>
UserDao4MySqlImpl.java(实现UserDao接口)
<span style="font-size:18px;">package com.tgb.spring.dao;
public class UserDao4MySqlImpl implements UserDao {
@Override
public void addUser(String username, String password) {
System.out.println("UserDao4MySqlImpl.addUser()");
}
}</span>
有了D层,得有东西去调。
UserManager.java(接口类)
<span style="font-size:18px;">package com.tgb.spring.manager;
public interface UserManager {
public void addUser(String username,String password);
}
</span>
UserManagerImpl.java(实现UserManager接口)
<span style="font-size:18px;">package com.tgb.spring.manager;
import com.tgb.spring.dao.UserDao;
import com.tgb.spring.dao.UserDao4MySqlImpl;
import com.tgb.spring.dao.UserDao4OracleImpl;
public class UserManagerImpl implements UserManager {
private UserDao userDao;
@Override
public void addUser(String username, String password) {
userDao.addUser(username, password);
}
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
}
</span>
在其中注入D层接口,并提供Set方法。
B层由客户端去调
Client.java
<span style="font-size:18px;">package com.tgb.spring.client;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.tgb.spring.manager.UserManager;
public class Client {
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
UserManager userManager =(UserManager)factory.getBean("userManager");
userManager.addUser("张三", "123");
}
}</span>
客户端获取配置文件信息,得到关于userManager的Bean信息,然后输入参数。调用B层。到这里,我们发现,D层接口和实现它的类没有在代码中连接起来。在这里用到了IOC容器,将其配置到了appplicationContext.xml文件中。
配置appplicationContext.xml
<span style="font-size:18px;"><bean id="userDao4Mysql" class="com.tgb.spring.dao.UserDao4MySqlImpl"/>
<bean id="userManager" class="com.tgb.spring.manager.UserManagerImpl">
<property name="userDao" ref="userDao4Mysql"/>
</bean></span>
以上将D层类UserDao4MySqlImpl配置到了文件中,将B层类UserManagerImpl配置到了文件中,将其关联起来。
运行结果
到这里,我们就已经将其打印信息的示例完成了,从客户端运行,得到结果。
小结
到这里,一个完整的Spring示例的环境搭建就告一段落了。初学者可以作为参考,还有更多的知识有待分享。