麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

服務端常規知識詳解

2019-11-14 15:11:16
字體:
來源:轉載
供稿:網友

1.前言

公司老項目的后臺,均是基于sPRing框架搭建,其中還用到了log4j.jar等開源架包。在新項目中,則是spring和hibernate框架均有使用,利用了hibernate框架,來實現持久化,簡化sql操作等。Hibernate配置文件可以有兩種格式,一種是 hibernate.properties,另一種是 hibernate.cfg.xml。后者稍微方便一些,當增加hbm映射文件的時候,可以直接在 hibernate.cfg.xml 里面增加,不必像 hibernate.properties 必須在初始化代碼中加入。我們新項目中使用的是hibernate.cfg.xml格式。不過在本文中不將細述,后續有機會再補上。

公司項目中,中間件主要有tomcat,webshpere,WebLogic。以下,將對項目中spring基本配置,log4j的配置,還有中間件的相關參數配置做一個初步的介紹。

2.spring配置——以老GIS項目為例子

GISV13中的配置涉及到了SpringMVC,IOC,AOP, Quartz方面的配置。配置的實現是通過注記配置和XML配置來合作實現。這里,我將按照Spring的配置流程,將其他幾個方面的配置融合其中,來進行全面解析。

2.1SpringMVC的配置

2.1.1.web.xml的配置

   Web程序中,當中間件啟動時,中間件會首先讀取web.xml中的配置。在web.xml中可以配置監聽器,過濾器,servlet映射等等。在Spring框架中,我們主要需配置容器初始化時讀取的spring容器配置文件的路徑以及springMVC中的分發器DispatcherServlet。

在GISV13的web.xml中,我們定義了如下內容:

         

              

InitGISConfigServlet定義了容器啟動時,首先要運行這個方法。然后servletname為MVC的這部分便是定義了springMVC的分發器以及此servlet所對應的加載配置文件的路徑。在web.xml中可以配置多個這樣的servlet。截圖中這段xml的配置是指,當后綴名為.htm時,則觸動springMVC的分發器。關于此servlet的配置在/WEB-INF/classes/applicationContext-servlet.xml地址下。Servlet的配置文件有其默認的地址,此處為顯示表示。

2.1.2.servlet的配置文件

 

首先,在配置文件中需要定義springMVC的引用空間以及配置格式兩項。

2.1.2.1配置Controller

為了支持注解格式,添加了如下配置:

 

此配置會在配置文件被容器加載時,掃面添加了注解的代碼,完成MVC的相關配置。在GISV13中,運用了@Controller, @Service來定義控制層以及DAO中的實現層,通過@RequestMapping來進行URL與Controller之間的關聯。

2.1.2.2配置Model和View

在SpringMVC中通過Controller返回的數據會被包裝在ModelAndView這個類里。此類中包含有返回的具體數據以及返回的數據指向的URL。

在GISV13中與此相關的配置為:

 

此配置中為ModelAndView中的url默認添加了一個前綴,以及為url所指向的文件名后面添加了文件格式,即將返回的url轉換成/home/url/file.jsp的樣式。

同時此配置中也定義了視圖和視圖解譯器:視圖為org.springframework.web.servlet.view.JstlView,視圖解譯器為:org.springframework.web.servlet.view.InternalResourceViewResolver。

其實InternalResourceViewResolver默認的視圖便是JstlView。此處不配置也可以。

視圖解譯器有很多種,根據不同的視圖以及用途而定。SpringMVC中支持對PDF,XML還有上傳下載文件等視圖的支持。

2.2.IOC的配置

在GISV13中,IOC相關的配置也是通過注解和XML共同完成的。與容器相關的配置地址在web.xml中已經配成,在容器啟動時便會進行加裝。這里我們針對利用了IOC的ORM來進行講解。

2.2.1.定義JDBC.properties文件

此處主要有兩項:

 

數據庫驅動以及數據庫地址。

2.2.2配置數據庫連接

對于不同的數據庫,spring配置數據庫時會引用不同的類,GISV13支持的數據庫是Oracle,所以此處引用的類是BasicDataSource。具體配置如下:

 

此配置為容器啟動時,實例化BasicDataSource類,property中的每一個對象均為對象初始化時的屬性配置,這些屬性包含了驅動類型,連接地址,最大連接數等。在之前配置的jdbc.properties中的類容,可在此處直接使用。

2.2.3.使用數據庫

在系統代碼中,通過@Autowired,將實例化后的對象,在容器初始化時注入到注解所對應的對象中。

 

便可以將spring中包含了數據庫配置而自動實例化好后的jdbc對象注入到注解對象中。我們一般使用的是JdbcTemplate類,此類將數據庫操作進行了淺包裝,至此增刪查改以及存儲過程的調用等,避免了代碼中多次使用容錯機制等重復代碼。

2.3.AOP的配置

AOP是Spring的一大亮點,其涉及到的概念非常多,比如切入點,增強,橫切面等等。在使用驗證等功能中常需使用該配置。在GISV13里也使用了此功能,主要是為了數據庫事務管理而使用的。在Spring中,AOP的實現可以通過一般性XML配置,aspectJ的配置還有注解配置等來實現。結合系統,我將AspectJ的配置來大致講解下。

2.3.1.配置事物管理類

 

此類中主要定義了事務管理所關聯的數據庫。DataSource的配置在上一章已描述。

2.3.2配置增強類容

 

此類中定義了增強的類容,即織入到目標對象(Target)代碼中的內容。Attributes里定義了該增強所對應的操作。比如當方法名以find開頭是,事務管理的類型為只讀。事務管理的屬性中還能設置傳播特性,以及事物隔離性等。如果不設置,此處的轉播特性為::PROPGATION_REQUIRED。這個配置項的意思是說當我調用service層的方法的時候開啟一個事務(具體調用那一層的方法開始創建事務,要看aop的配置),那么在調用這個service層里面的其他的方法的時候,如果當前方法產生了事務就用當前方法產生的事務,否則就創建一個新的事務。這個工作使由Spring來幫助我們完成的。

2.3.3.定義織入點和切面

 

首先定義織入點,該配置中的意思是當在cn.com.*包下以一直到dao包中以Manager結束的類中的所有方法。

然后定義了切面,該切面首先關聯了織入點,其次關聯了增強類。即,在滿足織入條件下的方法中加上增強的類容,該增強的類容在4.2中已經描述。

2.4.SpringQuartz的配置

Spring3.0以后自帶的task,可以將它看成一個輕量級的Quartz,而且使用起來比Quartz簡單許多,能夠完成任務的定時觸發。

2.4.1作業類配置

 

定義一個作業類。Value中為需要觸發的類的引用地址。

2.4.2 觸發配置

觸發條件分為兩種,簡單條件和復雜的條件。

2.4.2.1 簡單觸發配置

 

可以配置觸發延遲時間和觸發間隔時間。其中ref為需要觸發的類的配置(bean)名。

2.4.2.2 復雜觸發配置

 

復雜配置中可以配置具體觸發的時間等。

3.Log4j的配置

常見的支持日志的開源項目比較多,主要有:Log4j,Jul,Jcl,Slf4j,Logback等。但是,log4j以其悠久的歷史,廣泛的應用,支持多種語言及平臺,強大的功能,占據了主導的地位。

3.1依賴的包

一般需要log4j-1.2.13.jar和commons-logging-1.1.1.jar兩個架包。但是,log4j-1.2.13.jar是必須的,commons-logging-1.1.1.jar并不是必須的。

Commons-loggin的目的是為“所有的java日志實現”提供一個統一的接口,它自身的日志功能平常弱(只有一個簡單的SimpleLog), 所以一般不會單獨使用它。但是,幾乎所有用到Log4j的項目一般也同時會用到commons-loggin。這樣做主要是為了避免自身項目與Log4j綁定的太緊密。另外, “同時使用commons- logging和Log4j”,可以提供一個統一的日志接口,簡單了操作,同時避免項目與某個日志實現系統緊密耦合,如此可以自動選擇適當的日志實現系統。

3.2 web.xml中配置

在web.xml中需要配置log4j的配置文件地址,以及監聽啟動項。

 

 

3.3 log4j.properties配置

Log4j中可以配置日志的輸出級別,輸出格式,日志路徑日志名,時間格式等。

3.3.1日志等級

日志等級:

ERROR:雖然發生錯誤事件,但仍然不影響系統的繼續運行。

WARN:會出現潛在錯誤的情形。

INFO:消息在粗粒度級別上突出強調應用程序的運行過程。

DEBUG:細粒度信息事件對調試應用程序是非常有幫助的。

3.3.2 appender配置

 

 其中:
org.apache.log4j.ConsoleAppender(控制臺)。
org.apache.log4j.FileAppender(文件)。
org.apache.log4j.DailyRollingFileAppender(每天產生一個日志文件)。
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)。
org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)。

3.3.3 Threshold配置

Layout:
  org.apache.log4j.HTMLLayout(以HTML表格形式布局)。
  org.apache.log4j.PatternLayout(可以靈活地指定布局模式)。
  org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)。
  org.apache.log4j.TTCCLayout(包含日志產生的時間、線程、類別等等信息)。

3.3.4 打印格式

Log4J采用的是類似C語言中的printf函數的打印格式格式化日志信息的

%m 輸出代碼中指定的消息

%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL

%r 輸出自應用啟動到輸出該log信息耗費的毫秒數

%c 輸出所屬的類目,通常就是所在類的全名

%t 輸出產生該日志事件的線程名

%n 輸出一個回車換行符,Windows平臺為“/r/n”,Unix平臺為“/n”,也就是一跳消息占用一行

%d 輸出日志時間點的日期或時間,緊跟一對花括號進行自定義格式

 %c 輸出所屬的類目,通常就是所在類的全名

 %l 精確到行

%x 輸出對齊

3.3.5輸出的路徑地址

在web.xml中,定義了項目名:

 

在log4j.properties中定義了輸入日志路徑:

 

3.4代碼中使用

首先引用:

 

然后實例化:

最后使用:

4.中間件配置——以tomcat為例

Tomcat中我們一般進行的配置有:端口,回話連接數,線程數,編碼格式,文件壓縮,內存大小等。

4.1 server.xml的配置

 

4.2 內存設置

在catalina.bat文件中可以增加tomcat的內存數,避免space heap問題。

 

                                                             ——歡迎轉載,但保留版權,請于明顯處標明出處:http://www.companysz.com/naaoveGIS/

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲欧美在线视频 | chengrenyingshi| 久久人人人 | 91精品国产刺激国语对白 | 蜜桃91麻豆| 毛片免费在线观看视频 | 成人国产精品齐天大性 | 欧美精品一区二区中文字幕 | 色阁阁69婷婷 | 天堂成人一区二区三区 | 国产亚洲精品网站 | 久精品国产 | a集毛片| 俄罗斯hdxxx 日夜操天天干 | 欧美无限资源 | 污视频在线免费播放 | 亚洲福利视 | 国产无遮挡一级毛片 | 亚洲无毛av | 有兽焉免费动画 | 在线免费观看毛片 | 在线看小早川怜子av | 精品一区二区6 | 国产流白浆高潮在线观看 | 国产精品成人免费一区久久羞羞 | 玖玖视频精品 | 久久久久久久久久久国产精品 | 91天堂国产在线 | 国产精品亚洲精品久久 | 久久久久久久久浪潮精品 | 欧美成人三级视频 | 中文字幕天堂在线 | 91午夜免费视频 | 在线亚洲欧美 | 精品亚洲二区 | jizzzzxxxxx | 久久99精品久久久久久青青日本 | 国产午夜精品视频免费不卡69堂 | 国产精品视频一区二区噜噜 | 欧美乱码精品一区 | 凹凸成人精品亚洲精品密奴 |