posts - 59, comments - 244, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          spring mvc注解例子

          Posted on 2010-11-28 01:37 penngo 閱讀(130707) 評論(55)  編輯  收藏 所屬分類: Java
           棄用了struts,用spring mvc框架做了幾個項目,感覺都不錯,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介紹使用注解方式配置的spring mvc,之前寫的spring3.0 mvc和rest小例子沒有介紹到數(shù)據(jù)層的內(nèi)容,現(xiàn)在這一篇補上。下面開始貼代碼。

          文中用的框架版本:spring 3,hibernate 3,沒有的,自己上網(wǎng)下。

          web.xml配置:

          <?xml version="1.0" encoding="UTF-8"?>   
          <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">   
            
          <display-name>s3h3</display-name>   
             
          <context-param>     
               
          <param-name>contextConfigLocation</param-name>     
               
          <param-value>classpath:applicationContext*.xml</param-value>     
           
          </context-param>     
            
          <listener>     
               
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>     
           
          </listener>     
            
           
          <servlet>     
               
          <servlet-name>spring</servlet-name>     
               
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>     
               
          <load-on-startup>1</load-on-startup>     
           
          </servlet>     
           
          <servlet-mapping>     
               
          <servlet-name>spring</servlet-name>  <!-- 這里在配成spring,下邊也要寫一個名為spring-servlet.xml的文件,主要用來配置它的controller -->   
               
          <url-pattern>*.do</url-pattern>     
           
          </servlet-mapping>     
            
          <welcome-file-list>   
              
          <welcome-file>index.jsp</welcome-file>   
            
          </welcome-file-list>   
          </web-app>  

          spring-servlet,主要配置controller的信息

          <?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:p="http://www.springframework.org/schema/p"     
                  xmlns:context
          ="http://www.springframework.org/schema/context"     
             xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
                 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
                 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   
                 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"
          >   
               
            
          <context:annotation-config />   
                 
          <!-- 把標(biāo)記了@Controller注解的類轉(zhuǎn)換為bean -->     
                
          <context:component-scan base-package="com.mvc.controller" />     
            
          <!-- 啟動Spring MVC的注解功能,完成請求和注解POJO的映射 -->     
                
          <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />     
                  
                 
          <!-- 對模型視圖名稱的解析,即在模型視圖名稱添加前后綴 -->     
                 
          <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"     
                    p:prefix
          ="/WEB-INF/view/" p:suffix=".jsp" />     
                     
                 
          <bean id="multipartResolver"     
                    class
          ="org.springframework.web.multipart.commons.CommonsMultipartResolver"     
                    p:defaultEncoding
          ="utf-8" />     
           
          </beans>  

          applicationContext.xml代碼

          <?xml version="1.0" encoding="UTF-8"?>   
          <beans xmlns="http://www.springframework.org/schema/beans"  
           xmlns:aop
          ="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"  
           xmlns:p
          ="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"  
           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-3.0.xsd   
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd   
             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
          >   
            
           
          <context:annotation-config />   
           
          <context:component-scan base-package="com.mvc" />  <!-- 自動掃描所有注解該路徑 -->   
            
           
          <context:property-placeholder location="classpath:/hibernate.properties" />   
            
           
          <bean id="sessionFactory"  
            class
          ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">   
            
          <property name="dataSource" ref="dataSource" />   
            
          <property name="hibernateProperties">   
             
          <props>   
              
          <prop key="hibernate.dialect">${dataSource.dialect}</prop>   
              
          <prop key="hibernate.hbm2ddl.auto">${dataSource.hbm2ddl.auto}</prop>   
              
          <prop key="hibernate.hbm2ddl.auto">update</prop>   
             
          </props>   
            
          </property>   
            
          <property name="packagesToScan">   
             
          <list>   
              
          <value>com.mvc.entity</value><!-- 掃描實體類,也就是平時所說的model -->   
             
          </list>   
              
          </property>   
           
          </bean>   
            
           
          <bean id="transactionManager"  
            class
          ="org.springframework.orm.hibernate3.HibernateTransactionManager">   
            
          <property name="sessionFactory" ref="sessionFactory" />   
            
          <property name="dataSource" ref="dataSource" />   
           
          </bean>   
            
           
          <bean id="dataSource"  
            class
          ="org.springframework.jdbc.datasource.DriverManagerDataSource">   
            
          <property name="driverClassName" value="${dataSource.driverClassName}" />   
            
          <property name="url" value="${dataSource.url}" />   
            
          <property name="username" value="${dataSource.username}" />   
            
          <property name="password" value="${dataSource.password}" />   
           
          </bean>   
           
          <!-- Dao的實現(xiàn) -->   
           
          <bean id="entityDao" class="com.mvc.dao.EntityDaoImpl">     
            
          <property name="sessionFactory" ref="sessionFactory" />   
           
          </bean>   
           
          <tx:annotation-driven transaction-manager="transactionManager" />   
           
          <tx:annotation-driven mode="aspectj"/>   
               
              
          <aop:aspectj-autoproxy/>     
          </beans>  

          hibernate.properties數(shù)據(jù)庫連接配置

          dataSource.password=123  
          dataSource.username=root   
          dataSource.databaseName=test   
          dataSource.driverClassName=com.mysql.jdbc.Driver   
          dataSource.dialect=org.hibernate.dialect.MySQL5Dialect   
          dataSource.serverName=localhost:3306  
          dataSource.url=jdbc:mysql://localhost:3306/test   
          dataSource.properties=user=${dataSource.username};databaseName=${dataSource.databaseName};serverName=${dataSource.serverName};password=${dataSource.password}   
          dataSource.hbm2ddl.auto=update  

          配置已經(jīng)完成,下面開始例子
          先在數(shù)據(jù)庫建表,例子用的是mysql數(shù)據(jù)庫

          CREATE TABLE  `test`.`student` (   
            `id` int(10) unsigned NOT NULL AUTO_INCREMENT,   
            `name` varchar(45) NOT NULL,   
            `psw` varchar(45) NOT NULL,   
            PRIMARY KEY (`id`)   
          )  

          建好表后,生成實體類

          package com.mvc.entity;   
            
          import java.io.Serializable;   
            
          import javax.persistence.Basic;   
          import javax.persistence.Column;   
          import javax.persistence.Entity;   
          import javax.persistence.GeneratedValue;   
          import javax.persistence.GenerationType;   
          import javax.persistence.Id;   
          import javax.persistence.Table;   
            
          @Entity  
          @Table(name = "student")   
          public class Student implements Serializable {   
              private static final long serialVersionUID = 1L;   
              @Id  
              @Basic(optional = false)   
              @GeneratedValue(strategy = GenerationType.IDENTITY)   
              @Column(name = "id", nullable = false)   
              private Integer id;   
              @Column(name = "name")   
              private String user;   
              @Column(name = "psw")   
              private String psw;   
              public Integer getId() {   
                  return id;   
              }   
              public void setId(Integer id) {   
                  this.id = id;   
              }   
                 
              public String getUser() {   
                  return user;   
              }   
              public void setUser(String user) {   
                  this.user = user;   
              }   
              public String getPsw() {   
                  return psw;   
              }   
              public void setPsw(String psw) {   
                  this.psw = psw;   
              }   
          }  

          Dao層實現(xiàn)
          package com.mvc.dao;   
            
          import java.util.List;   
            
          public interface EntityDao {   
              
          public List<Object> createQuery(final String queryString);   
              
          public Object save(final Object model);   
              
          public void update(final Object model);   
              
          public void delete(final Object model);   
          }
            

          package com.mvc.dao;   
            
          import java.util.List;   
            
          import org.hibernate.Query;   
          import org.springframework.orm.hibernate3.HibernateCallback;   
          import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
            
          public class EntityDaoImpl extends HibernateDaoSupport implements EntityDao{   
              
          public List<Object> createQuery(final String queryString) {   
                  
          return (List<Object>) getHibernateTemplate().execute(   
                          
          new HibernateCallback<Object>() {   
                              
          public Object doInHibernate(org.hibernate.Session session)   
                                      
          throws org.hibernate.HibernateException {   
                                  Query query 
          = session.createQuery(queryString);   
                                  List
          <Object> rows = query.list();   
                                  
          return rows;   
                              }
             
                          }
          );   
              }
             
              
          public Object save(final Object model) {   
                  
          return  getHibernateTemplate().execute(   
                          
          new HibernateCallback<Object>() {   
                              
          public Object doInHibernate(org.hibernate.Session session)   
                                      
          throws org.hibernate.HibernateException {   
                                  session.save(model);   
                                  
          return null;   
                              }
             
                          }
          );   
              }
             
              
          public void update(final Object model) {   
                  getHibernateTemplate().execute(
          new HibernateCallback<Object>() {   
                      
          public Object doInHibernate(org.hibernate.Session session)   
                              
          throws org.hibernate.HibernateException {   
                          session.update(model);   
                          
          return null;   
                      }
             
                  }
          );   
              }
             
              
          public void delete(final Object model) {   
                  getHibernateTemplate().execute(
          new HibernateCallback<Object>() {   
                      
          public Object doInHibernate(org.hibernate.Session session)   
                              
          throws org.hibernate.HibernateException {   
                          session.delete(model);   
                          
          return null;   
                      }
             
                  }
          );   
              }
             
          }
            

          Dao在applicationContext.xml注入
          <bean id="entityDao" class="com.mvc.dao.EntityDaoImpl">  
            
          <property name="sessionFactory" ref="sessionFactory" />
           
          </bean>


          Dao只有一個類的實現(xiàn),直接供其它service層調(diào)用,如果你想更換為其它的Dao實現(xiàn),也只需修改這里的配置就行了。
          開始寫view頁面,WEB-INF/view下新建頁面student.jsp,WEB-INF/view這路徑是在spring-servlet.xml文件配置的,你可以配置成其它,也可以多個路徑。student.jsp代碼

          <%@ page language="java" contentType="text/html; charset=UTF-8"  
              pageEncoding
          ="UTF-8"
          %>  
          <%@ include file="/include/head.jsp"%>  
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
          <html>  
          <head>  
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
          <title>添加</title>  
          <script language="javascript" src="<%=request.getContextPath()%><!--   
          /script/jquery.min.js"
          >  
          // --></script>  
          <style><!--   
          table
          {  border-collapse:collapse;  }   
          td
          {  border:1px solid #f00;  }   
          --></style><style mce_bogus="1">table{  border-collapse:collapse;  }   
          td
          {  border:1px solid #f00;  }</style>  
          <script type="text/javascript"><!--   
          function add(){   
              window.location.href
          ="<%=request.getContextPath() %>/student.do?method=add";   
          }
             
            
          function del(id){   
          $.ajax( 
          {   
              type : 
          "POST",   
              url : 
          "<%=request.getContextPath()%>/student.do?method=del&id=" + id,   
              dataType: 
          "json",   
              success : 
          function(data) {   
                  
          if(data.del == "true"){   
                      alert(
          "刪除成功!");   
                      $(
          "#" + id).remove();   
                  }
             
                  
          else{   
                      alert(
          "刪除失敗!");   
                  }
             
              }
          ,   
              error :
          function(){   
                  alert(
          "網(wǎng)絡(luò)連接出錯!");   
              }
             
          }
          );   
          }
             
          // --></script>  
          </head>  
          <body>  
            
          <input id="add" type="button" onclick="add()" value="添加"/>  
          <table >  
              
          <tr>  
                  
          <td>序號</td>  
                  
          <td>姓名</td>  
                  
          <td>密碼</td>  
                  
          <td>操作</td>  
              
          </tr>  
              
          <c:forEach items="${list}" var="student">  
              
          <tr id="<c:out value="${student.id}"/>">  
                  
          <td><c:out value="${student.id}"/></td>  
                  
          <td><c:out value="${student.user}"/></td>  
                  
          <td><c:out value="${student.psw}"/></td>  
                  
          <td>  
                      
          <input type="button" value="編輯"/>        
                      
          <input type="button" onclick="del('<c:out value="${student.id}"/>')" value="刪除"/>  
                  
          </td>  
              
          </tr>  
              
          </c:forEach>  
                 
          </table>  
          </body>  
          </html>  

          student_add.jsp

          <%@ page language="java" contentType="text/html; charset=UTF-8"  
              pageEncoding
          ="UTF-8"
          %>  
          <%@ include file="/include/head.jsp"%>  
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
          <html>  
          <head>  
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
          <title>學(xué)生添加</title>  
          <mce:script type="text/javascript"><!--   
          function turnback(){   
              window.location.href="<%=request.getContextPath() %>/student.do";   
          }   
          // 
          --></mce:script>  
          </head>  
          <body>  
          <form method="post" action="<%=request.getContextPath() %>/student.do?method=save">  
          <div><c:out value="${addstate}"></c:out></div>  
          <table>  
              
          <tr><td>姓名</td><td><input id="user" name="user" type="text" /></td></tr>  
              
          <tr><td>密碼</td><td><input id="psw" name="psw"  type="text" /></td></tr>  
              
          <tr><td colSpan="2" align="center"><input type="submit" value="提交"/><input type="button" onclick="turnback()" value="返回" /> </td></tr>  
          </table>  
            
          </form>  
          </body>  
          </html>  

          controller類實現(xiàn),只需把注解寫上,spring就會自動幫你找到相應(yīng)的bean,相應(yīng)的注解標(biāo)記意義,不明白的,可以自己查下@Service,@Controller,@Entity等等的內(nèi)容。

          package com.mvc.controller;   
            
          import java.util.List;   
            
          import javax.servlet.http.HttpServletRequest;   
          import javax.servlet.http.HttpServletResponse;   
            
          import org.apache.commons.logging.Log;   
          import org.apache.commons.logging.LogFactory;   
          import org.springframework.beans.factory.annotation.Autowired;   
          import org.springframework.stereotype.Controller;   
          import org.springframework.ui.ModelMap;   
          import org.springframework.web.bind.annotation.RequestMapping;   
          import org.springframework.web.bind.annotation.RequestMethod;   
          import org.springframework.web.bind.annotation.RequestParam;   
          import org.springframework.web.servlet.ModelAndView;   
            
          import com.mvc.entity.Student;   
          import com.mvc.service.StudentService;   
            
          @Controller  
          @RequestMapping(
          "/student.do")   
          public class StudentController {   
              
          protected final transient Log log = LogFactory   
              .getLog(StudentController.
          class);   
              @Autowired  
              
          private StudentService studentService;   
              
          public StudentController(){   
                     
              }
             
                 
              @RequestMapping  
              
          public String load(ModelMap modelMap){   
                  List
          <Object> list = studentService.getStudentList();   
                  modelMap.put(
          "list", list);   
                  
          return "student";   
              }
             
                 
              @RequestMapping(params 
          = "method=add")   
              
          public String add(HttpServletRequest request, ModelMap modelMap) throws Exception{   
                  
          return "student_add";   
              }
             
                 
              @RequestMapping(params 
          = "method=save")   
              
          public String save(HttpServletRequest request, ModelMap modelMap){   
                  String user 
          = request.getParameter("user");   
                  String psw 
          = request.getParameter("psw");   
                  Student st 
          = new Student();   
                  st.setUser(user);   
                  st.setPsw(psw);   
                  
          try{   
                      studentService.save(st);   
                      modelMap.put(
          "addstate""添加成功");   
                  }
             
                  
          catch(Exception e){   
                      log.error(e.getMessage());   
                      modelMap.put(
          "addstate""添加失敗");   
                  }
             
                     
                  
          return "student_add";   
              }
             
                 
              @RequestMapping(params 
          = "method=del")   
              
          public void del(@RequestParam("id") String id, HttpServletResponse response){   
                  
          try{   
                      Student st 
          = new Student();   
                      st.setId(Integer.valueOf(id));   
                      studentService.delete(st);   
                      response.getWriter().print(
          "{\"del\":\"true\"}");   
                  }
             
                  
          catch(Exception e){   
                      log.error(e.getMessage());   
                      e.printStackTrace();   
                  }
             
              }
             
          }
            

          service類實現(xiàn)

          package com.mvc.service;   
            
          import java.util.List;   
            
          import org.springframework.beans.factory.annotation.Autowired;   
          import org.springframework.stereotype.Service;   
          import org.springframework.transaction.annotation.Transactional;   
            
          import com.mvc.dao.EntityDao;   
          import com.mvc.entity.Student;   
            
          @Service  
          public class StudentService {   
           @Autowired  
           
          private EntityDao entityDao;   
              
           @Transactional  
           
          public List<Object> getStudentList(){   
            StringBuffer sff 
          = new StringBuffer();   
            sff.append(
          "select a from ").append(Student.class.getSimpleName()).append(" a ");   
            List
          <Object> list = entityDao.createQuery(sff.toString());   
            
          return list;   
           }
             
              
           
          public void save(Student st){   
            entityDao.save(st);   
           }
             
           
          public void delete(Object obj){   
            entityDao.delete(obj);   
           }
             
          }
           

          OK,例子寫完。有其它業(yè)務(wù)內(nèi)容,只需直接新建view,并實現(xiàn)相應(yīng)comtroller和service就行了,配置和dao層的內(nèi)容基本不變,也就是每次只需寫jsp(view),controller和service調(diào)用dao就行了。

          怎樣,看了這個,spring mvc是不是比ssh實現(xiàn)更方便靈活。


          完整源碼:srping mvc注解實現(xiàn)(在這篇文章的后面附件,這個是我另一個博客的地址)

          評論

          # re: spring mvc注解實現(xiàn)[未登錄]  回復(fù)  更多評論   

          2010-11-28 12:03 by hijackwust
          您好,最后的源碼鏈接無法下載。。

          # re: spring mvc注解實現(xiàn)  回復(fù)  更多評論   

          2010-11-28 13:22 by pengo
          @hijackwust
          地址已改過來了,需要學(xué)習(xí)的,自己下載。附件的代碼是我在eclipse3.5下寫的。

          # re: spring mvc注解實現(xiàn)[未登錄]  回復(fù)  更多評論   

          2010-11-28 14:37 by hijackwust
          MVC注解的國際化怎么弄?

          # re: spring mvc注解實現(xiàn)[未登錄]  回復(fù)  更多評論   

          2010-11-28 14:51 by hijackwust
          為什么我使用SpringMVC3時頁面不支持EL表達式,而你的頁面就可以?

          還有 用MVC注解做驗證時候的國際化,您是如何處理的?
          最近我也在學(xué)習(xí)SpringMVC,所以問了這么多問題。

          # re: spring mvc注解實現(xiàn)  回復(fù)  更多評論   

          2010-11-28 19:09 by pengo
          @hijackwust
          你的頁面不支持EL表達式,應(yīng)該是有地方寫錯了,你自己對比下哪里寫錯。
          “MVC注解做驗證時候的國際化”,這個現(xiàn)在未用過,也不知。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2010-12-13 12:39 by pandora jewelry
          spring 3,hibernate 3,沒有的,自己上網(wǎng)下。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-03-08 16:16 by jumkey
          你好,請教一下<c:out value="${student.id}"/>跟${student.id}有什么區(qū)別嗎?

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-03-08 22:06 by penngo
          <c:out value="${student.id}"/>是jstl的標(biāo)簽,具體用法可以自己查下jstl。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-06-14 17:39 by willian
          有個問題請教一下。Dao這個部分為什么需要單獨定義,注解Dao后再自動掃描不可以么?在Dao比較多的情況下,這種定義的方式也是挺煩的。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-06-23 23:25 by penngo
          @willian
          因為全部只有一個通用的DAO,所以單獨定義比較好,這是為了以后更換DAO的方便。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-08-25 13:59 by java zz
          能不能把這個demo發(fā)我一下
          894571429@qq.com
          如果能萬分感謝

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-09-12 17:12 by 來如風(fēng)
          請問spring mvc 的view 路徑支持 像struts2 的namespace這種么,比如說,如果是userController 就自動去/web-inf/views/user/ 路徑下找對應(yīng)的文件,所有jsp放在同一個目錄下也挺煩人的

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2011-10-29 11:01 by spring
          請問,controller 中的load方法是如何被調(diào)用的

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2011-10-29 11:04 by spring
          http://localhost:8080/工程名/student.do
          就能進入到controller里面的load方法嗎,沒明白

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-11-10 16:29 by austenliao
          說明一下,為什么還保留使用hibernate

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-12-03 11:55 by tkreal
          不好意思,我是新手,請問源碼導(dǎo)入eclipse以后,如何運行啊?
          注:tomcat等已經(jīng)配置好了。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2011-12-18 19:06 by 上的
          不錯昂。

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-01-10 12:29 by yong230
          沒有修改啊!

          # 2  回復(fù)  更多評論   

          2012-02-23 17:36 by 3
          <script>alert('')</script>

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-02-27 09:26 by 六六
          整個項目報錯啊,部署不了,但類和頁面沒有報錯

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-03-05 11:20 by hah
          給的不全害死人啊!!!

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-03-09 21:36 by Kent160
          數(shù)據(jù)庫沒給啊?

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-03-09 21:38 by Kent160
          哦,看錯了。不好意思!

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-04-10 15:15 by testssssssssssssssssssssssssssssssssssssssssssssss
          hehe . hai bu cuo ...

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-04-27 13:23 by buddha
          java spring jpa android技術(shù)交流QQ群122674573

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-05-08 09:59 by gwb
          你的項目不能正常的跑起來

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2012-05-18 14:05 by 石頭
          不錯,,值得收藏

          # 項目部署了,沒有報錯,但是運行時候就報404錯  回復(fù)  更多評論   

          2012-05-18 17:38 by light.young
          項目部署了,沒有報錯,但是運行時候就報404錯,不知道為啥

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2012-05-24 08:51 by
          請教樓主,我把Service改成接口的方式,然后不用@Autowired ,我用的@Resource 注入,為什么不能用啊? 啟動就報錯了。求解?

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-09-27 17:09 by 11
          @pengo
          111

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2012-10-16 15:16 by c
          能不能把這個demo發(fā)我一下
          402670211@qq.com
          如果能萬分感謝

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2012-10-17 15:39 by vincent
          @penngo
          不錯的例子啊

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2012-10-17 15:39 by vincent
          這里列子不錯,收藏了

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2012-11-05 08:35 by zyy
          包·········

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-12-10 13:41 by 菜鳥學(xué)習(xí)
          你的el表達式不能用,可能是需要在jsp頁面引用jstl標(biāo)簽庫@hijackwust

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2012-12-12 16:46 by 小兵
          <property name="mappingResources">
          <list>
          <value>com/szhome/*/entity/*.hbm.xml</value>
          配置文件超過八十個就會報內(nèi)存溢出。。什么問題

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2013-01-24 18:36 by 你的承諾
          請問有一個完整的例子嗎?下載地址在哪里?

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2013-01-24 18:37 by 你的承諾
          請把下載的地址公布一下行嗎?謝謝

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2013-04-08 16:58 by suifeng
          @Kent160
          挺不錯的

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2013-05-13 15:42 by hasau@163.com
          不能下載啊!!

          有沒有人貼一份啊!!

          hasau@163.com

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2013-06-04 14:28 by ivan
          我是初學(xué)者,正好找入門的資料,寫的挺好,下載了!

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2013-09-21 10:36 by sun
          收藏

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2013-11-20 11:51 by daiweid
          dsfdsfdsf

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2014-02-10 10:43 by jame
          想法是出來了,但是dao層不全吧。公共dao層是這樣的,如果要用到其他的方法你不可能都寫在公共的dao層里面撒。新手求教

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2014-02-12 11:26 by Allen
          內(nèi)容挺全的

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-04-11 14:45 by 余小魚
          怎么下啊

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-04-27 00:17 by 最代碼
          請參考代碼: SpringMVC入門教程及其原理講解和實例代碼下載 ,下載地址:http://www.zuidaima.com/share/1751859714182144.htm

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-06-03 10:23 by azaoshu33
          你用的是spring的3.幾版本啊?為什么我一直報錯?

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-06-13 10:41 by 小星星
          @pengo
          sff.append("select a from ").append(Student.class.getSimpleName()).append("a");這句話的語句是這么寫嗎 怎么我運行的時候報錯呢

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-07-10 17:00 by WF
          使用oracle,一直提示id不能插入null,原來@GeneratedValue忘記改了,大意了

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-07-27 15:34 by 曉明
          @小星星給我發(fā)一份啊,不能下載,郵箱:1635387592@qq.com

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2014-08-04 10:29 by 上海-地瓜
          @jumkey
          c:out十一個雞肋的標(biāo)簽,基本不用!

          # re: spring mvc注解例子[未登錄]  回復(fù)  更多評論   

          2015-01-29 15:20 by
          能不能把這個完整的例子發(fā)給我啊? 303871975@qq.com謝謝了

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2015-05-15 14:53 by xgz
          怎么訪問里面的頁面啊……

          # re: spring mvc注解例子  回復(fù)  更多評論   

          2016-06-06 11:30 by 黑科技
          是分散
          主站蜘蛛池模板: 玛纳斯县| 佛山市| 澄城县| 翁牛特旗| 泌阳县| 武义县| 汕尾市| 华池县| 大方县| 伊金霍洛旗| 思南县| 板桥市| 安岳县| 黄冈市| 铜山县| 西城区| 平利县| 江门市| 房产| 马尔康县| 东辽县| 株洲县| 邢台县| 兖州市| 台中县| 永济市| 谢通门县| 太湖县| 遵义县| 孙吴县| 三门峡市| 延津县| 平昌县| 牟定县| 扶风县| 大同县| 乌海市| 临夏市| 河池市| 五河县| 大连市|