1. 程式人生 > >Spring 註解學習手札(一) 構建簡單Web應用

Spring 註解學習手札(一) 構建簡單Web應用

轉載自 http://snowolf.iteye.com/blog/577989

我們將用到如下jar包: 

引用
aopalliance-1.0.jar 
commons-logging-1.1.1.jar 
log4j-1.2.15.jar 
spring-beans-2.5.6.jar 
spring-context-2.5.6.jar 
spring-context-support-2.5.6.jar 
spring-core-2.5.6.jar 
spring-tx-2.5.6.jar 
spring-web-2.5.6.jar 
spring-webmvc-2.5.6.jar  先看web.xml 

Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns="http://java.sun.com/xml/ns/javaee"  
  5.     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  6.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/webapp_2_5.xsd"
      
  7.     id="WebApp_ID"  
  8.     version="2.5">  
  9.     <display-name>spring</display-name>  
  10.     <!-- 應用路徑 -->  
  11.     <context-param>  
  12.         <param-name>webAppRootKey</param-name>  
  13.         <param-value>spring.webapp.root</param-value>  
  14.     </context-param
    >  
  15.     <!-- Log4J 配置  -->  
  16.     <context-param>  
  17.         <param-name>log4jConfigLocation</param-name>  
  18.         <param-value>classpath:log4j.xml</param-value>  
  19.     </context-param>  
  20.     <context-param>  
  21.         <param-name>log4jRefreshInterval</param-name>  
  22.         <param-value>60000</param-value>  
  23.     </context-param>  
  24.     <!--Spring上下文 配置  -->  
  25.     <context-param>  
  26.         <param-name>contextConfigLocation</param-name>  
  27.         <param-value>/WEB-INF/applicationContext.xml</param-value>  
  28.     </context-param>  
  29.     <!-- 字符集 過濾器  -->  
  30.     <filter>  
  31.         <filter-name>CharacterEncodingFilter</filter-name>  
  32.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  33.         <init-param>  
  34.             <param-name>encoding</param-name>  
  35.             <param-value>UTF-8</param-value>  
  36.         </init-param>  
  37.         <init-param>  
  38.             <param-name>forceEncoding</param-name>  
  39.             <param-value>true</param-value>  
  40.         </init-param>  
  41.     </filter>  
  42.     <filter-mapping>  
  43.         <filter-name>CharacterEncodingFilter</filter-name>  
  44.         <url-pattern>/*</url-pattern>  
  45.     </filter-mapping>  
  46.     <!-- Spring 監聽器 -->  
  47.     <listener>  
  48.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  49.     </listener>  
  50.     <listener>  
  51.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  52.     </listener>  
  53.     <!-- Spring 分發器 -->  
  54.     <servlet>  
  55.         <servlet-name>spring</servlet-name>  
  56.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  57.         <init-param>  
  58.             <param-name>contextConfigLocation</param-name>  
  59.             <param-value>/WEB-INF/servlet.xml</param-value>  
  60.         </init-param>  
  61.     </servlet>  
  62.     <servlet-mapping>  
  63.         <servlet-name>spring</servlet-name>  
  64.         <url-pattern>*.do</url-pattern>  
  65.     </servlet-mapping>  
  66.     <welcome-file-list>  
  67.         <welcome-file>index.html</welcome-file>  
  68.         <welcome-file>index.htm</welcome-file>  
  69.         <welcome-file>index.jsp</welcome-file>  
  70.         <welcome-file>default.html</welcome-file>  
  71.         <welcome-file>default.htm</welcome-file>  
  72.         <welcome-file>default.jsp</welcome-file>  
  73.     </welcome-file-list>  
  74. </web-app>  
這段程式碼是什麼: 
Xml程式碼  收藏程式碼
  1. <!-- 應用路徑 -->  
  2. <context-param>  
  3.     <param-name>webAppRootKey</param-name>  
  4.     <param-value>spring.webapp.root</param-value>  
  5. </context-param>  

這是當前應用的路徑變數,也就是說你可以在其他程式碼中使用${spring.webapp.root}指代當前應用路徑。我經常用它來設定log的輸出目錄。 
為什麼要設定引數log4jConfigLocation? 
Xml程式碼  收藏程式碼
  1. <!-- Log4J 配置  -->  
  2.     <context-param>  
  3.         <param-name>log4jConfigLocation</param-name>  
  4.         <param-value>classpath:log4j.xml</param-value>  
  5.     </context-param>  
  6.     <context-param>  
  7.         <param-name>log4jRefreshInterval</param-name>  
  8.         <param-value>60000</param-value>  
  9.     </context-param>  

這是一種基本配置,spring中很多程式碼使用了不同的日誌介面,既有log4j也有commons-logging,這裡只是強制轉換為log4j!並且,log4j的配置檔案只能放在classpath根路徑。同時,需要通過commons-logging配置將日誌控制權轉交給log4j。同時commons-logging.properties必須放置在classpath根路徑。 
commons-logging內容: 
Properties程式碼  收藏程式碼
  1. org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger  

最後,記得配置log4j的監聽器: 
Xml程式碼  收藏程式碼
  1. <listener>  
  2.     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  3. </listener>  

接下來,我們需要配置兩套配置檔案,applicationContext.xml和servlet.xml。 
applicationContext.xml用於對應用層面做整體控制。按照分層思想,統領service層和dao層。servlet.xml則單純控制controller層。 
Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. 相關推薦

    Spring 註解學習手札 構建簡單Web應用

    轉載自 http://snowolf.iteye.com/blog/577989 我們將用到如下jar包:  引用 aopalliance-1.0.jar  commons-logging-1.1.1.jar  log4j-1.2.15.ja

    Spring註解學習手札構建web應用

    近來工作發生了一些變化,有必要學習一下Spring註解了! 網上找了一些個例子,總的說來比較土,大多數是轉載摘抄,按照提示弄下來根本都執行不了,索性自己趟一遍這渾水,在這裡留下些個印記。 這次,先來構建一個極為簡單的web應用,從controller到dao。不考慮具體實現

    Spring 註解學習手札 持久層淺析

    這裡將用到以下幾個包: 引用 aopalliance-1.0.jar commons-collections.jar commons-dbcp.jar commons-logging-1.1.1.jar commons-pool.jar jstl.jar log4j-1.

    Spring 註解學習手札補遺——@ExceptionHandler

    Spring註解,改變了我的開發思路。前段時間,用@RequestBody,@ResponseBody,不費吹灰之力就解決了JSon自動繫結。接著就發現,如果遇到RuntimeException,需要給出一個預設返回JSON。 以前都是用SimpleMappingExcep

    SpringBoot使用--- 構建簡單應用

    Spring Boot提供了一種新的程式設計正規化,能在最小的阻力下開發Spring應用程式。有了它, 你可以更加敏捷地開發Spring應用程式,專注於應用程式的功能,不用在Spring的配置上多花功 夫,甚至完全不用配置。實際上, Spring Boot的一項重要工作就是讓Spring不再

    Spring學習手札

    Spring能做什麼 1. 能根據配置檔案建立及組裝物件之間的依賴關係; 2. 面向切面程式設計,能幫助我們無耦合的實現日誌記錄,效能統計,安全控制等; 3. 提供第三方資料訪問框架(如Hibernate),而且自己也提供了一套JDBC訪問模板方便訪問資料庫; 4. 非常簡單的管理資料庫事務;

    Spring Boot學習筆記——專案構建-使用-部署

    Spring Boot簡介很榮幸剛開始學習java框架就接觸到了spring boot,並得到大神的指點,通過查閱資料以及教程學會在實際專案中去使用它,相對於其他框架只有一個字來形容 - “爽”。最近也

    spring boot學習系列

    web服務器 應用程序 spring 控制器 做什麽 spring boot開發第一個應用程序1、spring boot是什麽?2、spring boot容易上手嗎?寫這篇文章技術文章,主要是記錄日常的學習以及理解。我們重新認識一下spring假設你受命使用spring開發一個簡單的hel

    1、spring-boot學習筆記簡單入門

    ava project nal run plugin mailto 5.4 安全 class a 一、新建普通Maven工程 pom.xml <parent> <groupId>org.springframework.boot</gr

    Spring Boot 學習筆記—— 快速搭建Spring Boot專案

    一、前言 Spring Boot是Spring系列框架的整合,使用“習慣優於配置”的理念快速搭建專案,在專案打包時還能根據需求打包為jar(內建servlet容器)或war檔案,相對以前的Spring、Spring MVC來說Spring Boot並沒有技術上的升級,而是為我們做好了大部

    Spring AOP學習筆記:基礎概念

    AOP產生背景 AOP(Aspect Oriented Programming),即面向切面程式設計,可以說是OOP(Object Oriented Programming,面向物件程式設計)的補充和完善。OOP引入封裝、繼承、多型等概念來建立一種物件層次結構,用於模擬公共行為的一個集合。不

    Spring Boot 學習總結 ---入口類和@SpringBootApplication

    入口類和@SpringBootApplication SpringBoot通常有一個名為*Application的入口類,入口類裡有一個main方法,這個main方法是一個標準的java應用的入口方法。在main方法中使用SpringApplication.run(*App

    Spring原始碼學習筆記 bean是怎麼生成的

    bean 實在 bean 重新整理過程中產生的,首先我們看下 bean 的重新整理方法。下面是 AbstractApplicationContext 的 refresh 方法。 @Override public void refresh() throws

    Spring Boot學習實踐1建立一個簡單spring boot應用

    一、使用idea建立一個簡單的Spring Boot應用程式 環境準備: idea:2018.2 jdk: 1.8 spring boot:是2.0版本以上的 以上環境可以根據實際情況去調整。 (1)首先找到idea建立應用的New Project,選擇好

    SpringCloud學習心得 構建最基礎的SpringCloud專案

    首先本系列部落格參照 史上最簡單的 SpringCloud 教程,地址:https://blog.csdn.net/forezp/article/details/70148833根據工作需要,筆者最近研究SpringCloud微服務框架,將最近的學習過程寫下來供大家參考。好,

    Spring Boot學習日誌Hello World

    目錄 一,系統環境 JDK:1.8.0_144 maven:3.5.2 二,使用IntelliJ IDEA建立專案 1,選擇專案型別 2,編輯專案資訊 這裡packaging可以選擇jar 或者 war 3,選擇需要的war包

    Spring MVC學習記錄——網站基礎知識1

    Spring MVC學習之——網路架構及演變過程 1.軟體的三大型別:單機型別、CS型別、BS型別。 單機型別:曾經的主要軟體型別,不聯網,實現電腦的基本功能,如打字、畫圖。 CS型別:單機之後為了統一管理軟體的資料,產生了客戶端和伺服器端,客戶端管理業務,伺服器端管理資料

    Spring Boot 學習筆記入門

    Spring boot 簡介 1、Spring boot是Spring家族中的一個全新的框架,它用來簡化Spring應用程式的建立和開發過程,也可以說Spring boot能簡化我們之前採用Spring mvc + Spring + MyBatis 框架進行開發的過程; 2、在以往我們採用 Spring

    Spring Cloud 學習筆記——入門、特徵、配置

    目錄 0 放在前面 0.1 參考文件 http://cloud.spring.io/spring-cloud-static/Brixton.SR7/ https://springcloud.cc/ http://projects.spring.io/spring-cloud/ 0.2 maven配置 &

    Spring註解驅動開發

    [email protected]註解 這個相當於配置檔案,即告訴spring這個一個配置類。 [email protected] 給容器註冊一個Bean;型別為返回值的型別,id預設是用方法名作為id. @Configurat