Java配置文件_第1頁
Java配置文件_第2頁
Java配置文件_第3頁
Java配置文件_第4頁
Java配置文件_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 掃描注解 <!- 自動掃描指定路徑下的包,將帶有Component、Respository、Service、Controller等標簽的類自動注冊到spring容器中 -><context:component-scan base-package="geiss.*"><!- context:include-filter 意思是 掃描不在geisss包下面的類或其它。 -><context:include-filter type="annotation" expression="org.springfra

2、mework.stereotype.Controller" /></context:component-scan>上傳文件<!- 上傳文件時 使用 -><bean id="multipartResolver"class="mons.CommonsMultipartResolver"><property name="resolveLazily" value="true" /><property name="maxUploadSize&qu

3、ot; value="1073741824" /> <!-1T = 1073741824字節 -></bean>引入其他xml文件<!- 引入其它spring-dao.xml -> <import resource="classpath*:geiss/resource/spring/spring-dao.xml"/>加載初始化*.properties<!- 加載初始化文件,數據庫配置屬性的參數設置等 -> <beanid="propertyConfigurer"c

4、lass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:geiss/resource/jdbc/perties</value> <value>classpath*:geiss/resource/hibernate/perties</val

5、ue> </list> </property></bean>數據庫配置信息 <bean id="dataSourceOne" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <

6、;property name="jdbcUrl" value="jdbc:mysql:/localhost:3306/chexian?useUnicode=true&amp;characterEncoding=utf8"></property> <property name="user" value="root"></property> <property name="password" value="123456"&g

7、t;</property> <property name="acquireIncrement" value="5"></property> <!- 當連接池中的連接用完時,C3P0一次性創建新連接的數目2 -> <property name="initialPoolSize" value="10"></property> <!- 初始化時創建的連接數,必須在minPoolSize和maxPoolSize之間 -> <prope

8、rty name="minPoolSize" value="5"></property> <property name="maxPoolSize" value="20"></property> <!- 最大空閑時間,超過空閑時間的連接將被丟棄 需要注意:mysql默認的連接時長為8小時(28800)【可在my.ini中添加 wait_timeout=30(單位秒)設置連接超時】,這里設置c3p0的超時必須<28800 -> <property nam

9、e="maxIdleTime" value="300"></property> <property name="idleConnectionTestPeriod" value="60"></property> <!- 每60秒檢查連接池中的空閑連接 -> <property name="maxStatements" value="20"></property> <!- jdbc的標準參數 用以

10、控制數據源內加載的PreparedStatement數量,但由于預緩存的Statement屬 于單個Connection而不是整個連接 -> </bean> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSourceOne"></property>

11、如果配置信息讀取的是*.properties初始化文件格式<property name="driver" value="$jdbc.driver" />文件名.鍵名比如配置工廠的取值配置session工廠<!- 建立session工廠,并將數據源加載進來,同時配置hibernate相關參數信息。 -><bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"&g

12、t;<property name="dataSource" ref="dataSource" /><property name="packagesToScan" value="geiss" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">$hibernate.dialect</prop><prop

13、 key="hibernate.hbm2ddl.auto">$hibernate.hbm2ddl.auto</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop><prop key="hibernate.query.substitutions">$hibernate.query.substitutions<

14、;/prop><prop key="hibernate.default_batch_fetch_size">$hibernate.default_batch_fetch_size</prop><prop key="hibernate.max_fetch_depth">$hibernate.max_fetch_depth</prop><prop key="hibernate.generate_statistics">$hibernate.generate_statisti

15、cs</prop><prop key="hibernate.bytecode.use_reflection_optimizer">$hibernate.bytecode.use_reflection_optimizer</prop><prop key="hibernate.cache.use_second_level_cache">$hibernate.cache.use_second_level_cache</prop><prop key="hibernate.cache.us

16、e_query_cache">$hibernate.cache.use_query_cache</prop><prop key="hibernate.cache.region.factory_class">$hibernate.cache.region.factory_class</prop><prop key="net.sf.ehcache.configurationResourceName">$net.sf.ehcache.configurationResourceName</pr

17、op><prop key="hibernate.cache.use_structured_entries">$hibernate.cache.use_structured_entries</prop></props></property>數據源的局部事物管理器<!- 配置JDBC數據源的局部事物管理器 -><bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionMa

18、nager"><property name="sessionFactory" ref="sessionFactory" /></bean>hibernate事務相關<!- 開啟注解事務 只對當前配置文件有效 -><tx:annotation-driven transaction-manager="txManager" /><!- 配置事物的增強處理bean,指定事物管理器 -><tx:advice id="txAdvice" tran

19、saction-manager="txManager"><tx:attributes><tx:method name="save*" propagation="REQUIRED" /><tx:method name="add*" propagation="REQUIRED" /><tx:method name="adds*" propagation="REQUIRED" /><tx:method

20、name="create*" propagation="REQUIRED" /><tx:method name="insert*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="merge*" propagation="REQUIRED" /><tx:

21、method name="del*" propagation="REQUIRED" /><tx:method name="remove*" propagation="REQUIRED" /><tx:method name="put*" propagation="REQUIRED" /><tx:method name="use*" propagation="REQUIRED" /><tx:m

22、ethod name="execute*" propagation="REQUIRED" /><tx:method name="doWork" propagation="REQUIRED" /><!-hibernate4必須配置為開啟事務 否則 getCurrentSession()獲取不到 -><tx:method name="get*" propagation="REQUIRED" read-only="true"

23、/><tx:method name="count*" propagation="REQUIRED" read-only="true" /><tx:method name="find*" propagation="REQUIRED" read-only="true" /><tx:method name="list*" propagation="REQUIRED" read-only="true

24、" /><tx:method name="*" /><!- <tx:method name="*" read-only="true" /> -></tx:attributes></tx:advice>聲明事物 <!- 聲明式事務管理 -> <aop:config> <aop:advisor pointcut="execution(* com.cisetech.service.impl.*ServiceImpl.*(.)&

25、quot; advice-ref="myAdvice"/> </aop:config> <tx:advice id="myAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED"/> <tx:method name="update*" propagation="

26、REQUIRED"/> <tx:method name="*" read-only="true" rollback-for="com.cisetech.exception.DaoException"/> </tx:attributes> </tx:advice> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><prop

27、erty name="dataSource" ref="dataSourceOne" /> <!- 自動掃描mapper目錄, 省掉sql-mapper-config.xml里的手工配置 -> <property name="typeAliasesPackage" value="com.cisetech.mapper" /> <!- 顯式指定Mapper文件位置 -> <property name="mapperLocations" value=&

28、quot;classpath:/com/cisetech/mapper/*/*Mapper.xml" /></bean><!- 掃描basePackage下所有以MyBatisRepository標識的 接口-> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.cisetech.mapper" /> <pr

29、operty name="annotationClass" value="com.cisetech.mapper.MyBatisRepository"/> </bean>開啟AOP監聽<!- 開啟AOP監聽 只對當前配置文件有效 -><!- AOP專門處理系統中分布于各模塊中的交叉關注點的問題。 -><aop:aspectj-autoproxy expose-proxy="true" /><!- AOP 配置的呀元素 -><aop:config expose-pr

30、oxy="true"><!- 定義切入點,只對業務邏輯層實施事務即所有的service層下面所有的方法都執行 -><aop:pointcut id="txPointcut" expression="execution(* geiss.system.service.impl.*.*(.)" /><!- 指定在 txAdvice 切入點應用 txAdvice 事物增強處理-><aop:advisor advice-ref="txAdvice" pointcut-ref=&

31、quot;txPointcut" /></aop:config>注冊自定義的處理器攔截器<!- 注冊自定義的處理器攔截器 -> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/demo/query"/><bean class="erceptor.MyInterceptor"></bean> </mvc:interceptor></mv

32、c:interceptors>配置靜態文件 <!- 配置靜態文件-> <mvc:resources location="/WEB-INF/resources/css/" mapping="/css/*"/> <mvc:resources location="/WEB-INF/resources/js/" mapping="/js/*"/><mvc:resources location="/WEB-INF/resources/images/" jsp

33、頁面解析器 <!- jsp頁面解析器,當Controller返回XXX字符串時,先通過攔截器,然后該類就會在/WEB-INF/views/目錄下,查找XXX.jsp文件-> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name=

34、"suffix" value=".jsp"></property> </bean>mapping="/images/*"/>收到相應請求后直接選擇相應的視圖<!- 收到相應請求后直接選擇相應的視圖 -><mvc:view-controller path="/" view-name="forward:/index" />.XML· 初始化過程:1. 在啟動Web項目時,容器(比如Tomcat)會讀web.xml配置文件中的兩個節

35、點<listener>和<contex-param>。2. 接著容器會創建一個ServletContext(上下文),應用范圍內即整個WEB項目都能使用這個上下文。3. 接著容器會將讀取到<context-param>轉化為鍵值對,并交給ServletContext。4. 容器創建<listener></listener>中的類實例,即創建監聽(備注:listener定義的類可以是自定義的類但必須需要繼承ServletContextListener)。5. 在監聽的類中會有一個contextInitialized(ServletCon

36、textEvent event)初始化方法,在這個方法中可以通過event.getServletContext().getInitParameter("contextConfigLocation") 來得到context-param 設定的值。在這個類中還必須有一個contextDestroyed(ServletContextEvent event) 銷毀方法.用于關閉應用前釋放資源,比如說數據庫連接的關閉。6. 得到這個context-param的值之后,你就可以做一些操作了.注意,這個時候你的WEB項目還沒有完全啟動完成.這個動作會比所有的Servlet都要早。由上面的

37、初始化過程可知容器對于web.xml的加載過程是context-param >> listener  >> fileter  >> servlet設置編碼 <!- 設置編碼 -><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><init-param><param-name>forceEncodin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論