大家好,刚把javaee学完,接着趁热打铁学框架,这是我搭建的一个spring框架,搭的不好的地方请大家指点,,我用的spring2.5的jar,听说这个版本比较稳定,下面介绍我的框架是怎么搭建的
1.新建一个web工程,工程名称是spring
2.导入相应的springjar文件
3.在src目录下建立相应的包
(1)
com.spring.dao 新建一个MemberDao接口
package com.spring.dao;
import java.util.List;
import com.spring.model.MembersModel;
/**
* @author Administrator
*
*/
public interface MemberDao {
/**
* 获取所有用户列表
* @return
*/
public List<MembersModel> findAllMembersModels();
}
com.spring.dao.imp 新建一个MemberDaoImpl 实现类
package com.spring.dao.impl;
import java.util.List;
import org.springframework.jdbc.core.simple.SimpleJdbcDaoSupport;
import com.spring.dao.MemberDao;
import com.spring.model.MembersModel;
/**
* @author Administrator
*
*/
public class MemberDaoImpl extends SimpleJdbcDaoSupport implements MemberDao {
/* (non-Javadoc)
* @see com.spring.MemberDao#findAllMembersModels()
*/
public List<MembersModel> findAllMembersModels() {
// 去数据库里查询
//sql....
return null;
}
}
com.spring.dao.model 新建一个MembersModel类
package com.spirng.model;
/**
* @author Administrator
*
*/
public class MembersModel {
private String id ;
private String logonname;
private String logonpassword;
public MembersModel(){
}
public MembersModel(String id,String logonname,String logonpassword){
this.id=id;
this.logonname=logonname;
this.logonpassword=logonpassword;
}
public String getLogonpassword() {
return logonpassword;
}
public void setLogonpassword(String logonpassword) {
this.logonpassword = logonpassword;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getLogonname() {
return logonname;
}
public void setLogonname(String logonname) {
this.logonname = logonname;
}
}
com.spring.service 新建一个MemberService接口
package com.spring.service;
import java.util.List;
import com.spring.model.MembersModel;
/**
* @author Administrator
*
*/
public interface MemberService {
/**
* 返回所有用户列表
* @return 用户列表
*/
public List<MembersModel> findAllMembersModels();
}
com.spring.service.impl 新建一个MemberServiceImpl实现类
package com.spring.service.impl;
import java.util.List;
import com.spring.dao.MemberDao;
import com.spring.model.MembersModel;
import com.spring.service.MemberService;
/**
* @author Administrator
*
*/
public class MemberServiceImpl implements MemberService {
private MemberDao memberDao;
public void setMemberDao(MemberDao memberDao) {
this.memberDao = memberDao;
}
/* (non-Javadoc)
* @see com.spring.service.MemberService#findAllMembersModels()
*/
public List<MembersModel> findAllMembersModels() {
// TODO Auto-generated method stub
return memberDao.findAllMembersModels();
}
}
com.spring.web.controller 新建一个MemberController 控制类
package com.spring.web.controller;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.ServletRequestBindingException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import com.spring.model.MembersModel;
import com.spring.service.MemberService;
/**
* @author Administrator
*
*/
public class MemberController extends MultiActionController {
private MemberService memberService;
public void setMemberService(MemberService memberService) {
this.memberService = memberService;
}
public ModelAndView memberList(HttpServletRequest request,HttpServletResponse response) throws ServletRequestBindingException{
//查询数据库了
List<MembersModel> list = memberService.findAllMembersModels();
return new ModelAndView("MemberList").addObject("memberlist", list);
}
}
以上就是我src下的结构,遵循spring的mvc模式
4.修改web.xml文件,进行相应的配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!--对WEB-INF下的xml文件进行整合,本来spring就一个配置文件,但是为了可读性,我把他分开了-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 把所以页面的字符编码转换成utf-8 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 一个页面请求控制器,相当于struts的web.xml的拦截器 -->
<servlet>
<servlet-name>court</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>court</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
5.在WEB-INF下配置spring的配置文件
为了增强配置文件的可读性,新生容易理解一点,我这里把配置文件分开了,有些配置文件是空的,主要为了以后业务拓展
(1)Copy of court-servlet.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"
default-autowire="byName">
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/MemberList.htm">memberController</prop>
</props>
</property>
</bean>
<bean id="memberController" class="com.spring.web.controller.MemberController">
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/MemberList.htm">memberList</prop>
</props>
</property>
</bean>
</property>
</bean>
</beans>
(2)spring-dao.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"
default-autowire="byName">
<bean id="memberDao" class="com.spring.dao.impl.MemberDaoImpl"></bean>
</beans>
(3)spring-dwr.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"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"
default-autowire="byName">
</beans>
(4)spring-persistence.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"
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.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
default-autowire="byName">
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@10.2.151.137:1521:orcl" />
<property name="user" value="dexs" />
<property name="password" value="dexs" />
<!--
<property name="minPoolSize" value="10" />
<property name="maxPoolSize" value="20" />
<property name="maxIdleTime" value="1800" />
<property name="acquireIncrement" value="2" />
<property name="maxStatements" value="0" />
<property name="initialPoolSize" value="2" />
<property name="idleConnectionTestPeriod" value="1800" />
<property name="acquireRetryAttempts" value="30" />
<property name="breakAfterAcquireFailure" value="true" />
<property name="testConnectionOnCheckout" value="false" />
-->
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" ></bean>
</beans>
(5)spring-service.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"
default-autowire="byName">
<bean id="memberService" class="com.spring.service.impl.MemberServiceImpl"></bean>
</beans>
(6)views.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">
</beans>
7.部署工程,进行测试
感谢大家对我支持