<var id="k6qs5"><sup id="k6qs5"></sup></var>

  • 最代碼官方的gravatar頭像
    最代碼官方 2015-10-07 11:26:59

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    項目截圖

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    程序概述

    該程序可以實現對圖書的增刪該查功能,所有的圖書都會顯示在首頁。

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    當你在首頁點擊某一個圖書后會進入圖書詳情頁面。

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    點擊編輯圖書可以進入編輯頁面

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    程序分層

    數據庫層

    支持mysql和h2,需要修改datasource-tx-jpa.xml中的配置,默認是h2數據庫

    <!-- Embedded Database -->
    	<jdbc:embedded-database id="dataSource" type="H2">
    		<jdbc:script location="classpath:schema.sql" />
    		<jdbc:script location="classpath:test-data-h2.sql" />
    	</jdbc:embedded-database>

    Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例

    持久層

    該程序最主要的持久層對象就是Book對象,下面的代碼片段顯示了它的主要字段,每個字段通過JPA注解關聯到數據庫的表字段,Hibernate技術被用到了持久層provider

    @Entity
    @Table(name = "book")
    public class Book implements Serializable {
      private Long id;
      private int version;
      private String name;
      private String publisher;
      private DateTime dateOfPublication;
      private String description;
      private byte[] photo;
      ...
    }

    Service Layer

    SpringData JPA開源項目簡化了java持久層CRUD的操作,在Service層中調用SpringData JPA實現CRUD的操作。所有的Service層方法都可以通過SpringData JPA的接口CRUDRepository實現調用。

    @Service("bookService")
    @Repository
    @Transactional
    public class BookServiceImpl implements BookService {
     
      @Autowired
      private BookRepository bookRepository;
     
      @Transactional(readOnly=true)
      public List<Book> findAll() {
        return Lists.newArrayList(bookRepository.findAll());
      }
      ...
    }

    Book Controller

    所有請求到/的URI都通過BookController來處理,它有很多處理方法,但是我這邊只給出最基本的一個方法:

    @RequestMapping("/")
    @Controller
    public class BookController {
     
      @Autowired
      private BookService bookService;
     
      @RequestMapping(method = RequestMethod.GET)
      public String list(Model uiModel) {
        List<Book> books = bookService.findAll();
        uiModel.addAttribute("books", books);
     
        return "books/list";
      }
       ...
    }

    顯示層

    下面的代碼片段在首頁顯示了所有的圖片數據

    <c:if test="${not empty books}">
      <table>
        <thead>
          <tr>
    	<th>${labelBookName}</th>
    	<th>${labelBookPublisher}</th>
    	<th>${labelDateOfPublication}</th>
          </tr>
        </thead>
        <tbody>
          <c:forEach items="${books}" var="book">
     	<tr>
    	  <td>
                <a href="${showBookUrl}${book.id}">${book.name}</a>
              </td>
    	  <td>${book.publisher}</td>
              <td><joda:format value="${book.dateOfPublication}"
     	       pattern="yyyy-MM-dd" /></td>
            </tr>
          </c:forEach>
        </tbody>
      </table>
    </c:if>

    附加功能

    Spring Data JPA

    CRUDRepository是抽象倉庫對象,提供了基于JPA的最簡單的接口。

    jQuery UI

    jQuery UI在該程序中用戶創建一些按鈕

    Spring Security

    最簡單的權限控制,當用戶登錄后可以編輯和刪除圖書,未登錄只能查看所有圖書列表。

    H2 Embedded Database

    該程序用內置的數據庫H2

    Apache Tiles

    Apache Tiles是開源的模板技術框架,它可以和spring mvc完美結合,和其他MVC框架也可以支持。

    i18n國際化支持

    該程序支持英語和法語,spring:message標簽可以在jspx中實現國際化語言支持,該文件在src/main/webapp/WEB-INF/i18n文件夾下

    Validation

    JSR-349 Bean Validation API在domain層利用,該圖書的名稱不能為空而且必須在5-100個大小。

    原文:http://chrisbaileydeveloper.com/projects/springmvc/


    打賞

    文件名:Spring MVC4+SpringData JPA+jqueryUI開發簡單的圖書增刪改查入門實例.rar,文件大小:3327.908K 下載
    • /
        • /SpringMVC4-SpringDataJPA-jqueryUI
          • /SpringMVC4-SpringDataJPA-jqueryUI/.classpath
          • /SpringMVC4-SpringDataJPA-jqueryUI/.gitignore
          • /SpringMVC4-SpringDataJPA-jqueryUI/.project
            • /SpringMVC4-SpringDataJPA-jqueryUI/.settings
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/.jsdtscope
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/org.eclipse.core.resources.prefs
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/org.eclipse.jdt.core.prefs
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/org.eclipse.m2e.core.prefs
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/org.eclipse.wst.common.component
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/org.eclipse.wst.common.project.facet.core.xml
              • /SpringMVC4-SpringDataJPA-jqueryUI/.settings/org.eclipse.wst.jsdt.ui.superType.container
    最代碼最近下載分享源代碼列表最近下載
    1204820258  LV6 2022年9月29日
    lyp54231a  LV5 2021年5月9日
    Freedom74  LV4 2020年3月21日
    猿來就是你  LV12 2019年4月29日
    Mageliterio  LV2 2019年4月15日
    taozhao  LV1 2018年5月10日
    thinkcodee  LV9 2018年1月3日
    chinafjfzlj  LV31 2017年9月11日
    2691533321  LV23 2017年3月30日
    ruiqiweb  LV10 2017年1月10日
    最代碼最近瀏覽分享源代碼列表最近瀏覽
    森sdfgf  LV8 2月5日
    BestClever  LV32 1月24日
    z96141176 1月17日
    暫無貢獻等級
    wang0823 2023年12月29日
    暫無貢獻等級
    a1005155203 2023年12月15日
    暫無貢獻等級
    新工藝  LV7 2023年9月22日
    peanut_666  LV1 2023年8月30日
    礦泉水  LV30 2023年8月10日
    飛呀飛呀飛不放  LV7 2023年8月9日
    w13947486972  LV1 2023年7月14日
    頂部 客服 微信二維碼 底部
    >掃描二維碼關注最代碼為好友掃描二維碼關注最代碼為好友
    国产 国产 高清|护士奶头又白又大又好摸|中文字幕av一区二区三区|午夜亚洲国产理论片2020
    <var id="k6qs5"><sup id="k6qs5"></sup></var>