亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? spring2.txt

?? Java大部分的基礎知識,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,還有些面試題
?? TXT
字號:
十、spring最有價值的兩個功能?
	ioc(inverse of control)/di:控制返轉/依賴注入
		將類與類的依賴關系寫在配置文件中,程序在運行時
		根據配置文件動態加載所依賴的類,讓類與類之間的依賴解藕合。
		強藕合:
			List al=new ArrayList();
		弱一點的藕合:
			IFacade facade=FacadeFactory.getFacade();
		很弱的藕合:
			spring的ioc,將依賴的類寫在配置文件中,
			程序在運行的過程中動態加載,如果要換成另一個類
			只需修改配置文件,客戶端及工廠都不用改。
十一、spring的三種注入方式?
	set
	構造子
	接口
十二、spring的核心配置文件,請寫一個典型的配置?
	--核心配置文件是appliationContext.xml
	<beans>
		<bean id="customer" class="vo.Customer" init-method="init" destroy-method="destroy">
			<property name="customerName" value="張三">
			<property name="sex">
				<null/>
			</property>
			<property name="address">
				<ref local="address"/>
			</property>
		</bean>
		<bean id="address" class="vo.Address">
			<property name="state" value="廣東">
			</property
		</bean>		
		<bean id="customer1" class="vo.Customer" init-method="init" destroy-method="destroy">
			<constructor-args>
				<value>張三</value>
			</constructor-args>
			<constructor-args>
				<value>男</value>
			</constructor-args>
			<constructor-args>
				<ref local="address"/>
			</constructor-args>
		</bean>
	</beans>
	--核心類
		ApplicationContext ac=new XMLFileApplicationContextSupport("applicationContext.xml");
		Object customer=ac.getBean("customer");
三、加載多個applicationContext.xml文件
	在web.xml文件中加入如下內容:
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml,classpath*:dao/applicationContext-*.xml,classpath*:applicationContext.xml</param-value>
	<context-param>

action中overode Action的setServlet獲得spring的context對象,從而使用spring特性
public void setServlet(ActionServlet actionServlet) {    
        try {    
            super.setServlet(actionServlet);    
            ServletContext servletContext = actionServlet.getServletContext();    
            context = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);    
        } catch(Exception e) {    
            e.printStackTrace();    
        }    
    }   

-------------------------struts2-------------------------
		struts中可以有多個配置文件,一般是一個功能模板一個,不同團隊不影響,實現如下:
	1、在/WEB-INF/下加入新的struts-config.xml文件
	2、在web.xml中在ActionServlet的配置中說明具體的struts-config.xml文件所在位置
		多個文件用,分隔開。
		<init-param>
		      <param-name>config</param-name>
		      <param-value>/WEB-INF/struts-config-1.xml,
		      	/WEB-INF/struts-config-2.xml</param-value>
		   </init-param>

二、什么是aop?aop相關的名詞是什么?
	aop是面向方面編程,是對oop的補充,oop主要是縱向的業務,aop主要
	應用橫向的服務,主事務、日志、安全,不可以替代oop,只是補充。
	aop相關的名詞:
		攔截器(代理):向客戶端公開通過它找到真實對象。
		真實對象:做具體的處理。
		裝備:代理調用服務類如TransactionManager
		關切點:為那些方法提供什么樣的服務,如是否需要的事務。
		連接點:連接的是方法還是屬性,一般是方法。

三、spring&hibernate的配置過程?

	dataSource
	sessionFactory
		dataSource
	userDao
		sessionFactory
	realFacade
		userDao
	transactionManager
		sessionFactory
	abstractProxy	TransactionProxyFactoryBean:產生代理
		transactionManager:引入裝備
		transactionAttributes:什么方法需要什么樣的事務
			<props>
				<prop key="insert*">PROPAGATION_REQUIRED</prop>
				<prop key="select*">PROPAGATION_REQUIRED,readOnly</prop>
			<props>
	facade  parent="abstractProxy"
		target=realFacade
四、代理模式
	有三個角色,分別是通用接口、真實對象、代理,真實對象、代理
	實現的同一個接口,將真實對象作為代理的一個屬性,向客戶端公開的
	代理,客戶端調用代理的一方法時,代到調用真實對象的方法,在調用真實
	對象的方法之間之后可以做一些服務。
五、什么是aop
	aop不是oop,aop是面向方面編程,是對oop的一個補充
	oop是縱向的業務處理,aop是橫向的服務,如事務、安全、
	日志
六、aop實現的原理及名詞
	aop實現的原理就是代理模式
	名詞:
		攔載器:代理
		真實對象:本原
		裝備:做具體的服務
		關切點:哪些方法需要什么樣的服務
		連接點:攔截的是方法還是屬性,一般是方法。
七、事務的實現
	聲明式:什么方法需要什么樣的事務寫在配置文件中,
		如spring的aop、ejb2、ejb3
	代碼式:手動的寫代碼進行事務管理
		con.setAutoCommit(false);
		con.commit();
		con.rollback();
		
		Transaction trans=session.beginTransaction();
		trans.rollback();
		trans.commit();
八、struts與spring組合
	1、在struts中加入一插件加載spring的配置文件applicationContext.xml
	2、struts-config.xml中的action標簽內的type屬性不再指向具體的action
	    而是DelegatingActionProxy(代表action的代理),通過該代理進入spring
	    環境。
	3、在spring中加入bean標簽,說明具體的action
		<bean name="/insert" class="action.InsertAction">
			<property name="facade">
				<ref local="facade(是代理,只有代理才可以提供聲明式的事務服務)"/>
			</property>
		</bean>
三、spring&struts的組合?
	1、在struts-config.xml加入一個插件加載applicationContext.xml文件
		類是:ContextLoaderPlugIn
		參數:
			contextConfigLocation=/WEB-INF/applicationContext.xml
	2、修改struts-config.xml中的action標簽的type屬性,其不再指向具體
	    Action,而是DelegatingActionProxy
	3、在applicationContext.xml中配置具體的action
		<bean name="/login" type="struts.action.LoginAction"/>
八、spring2的事務配置(三種方式)
	(一)通過xml配置
		1、加入tx及aop命名空間
		2、通過tx說明關切點即那些方法需要什么樣的服務及裝備
			<tx:advice id="facadeTransactonMethod" transaction-manager="transactionManager">
				<tx:attributes>
					<tx:method name="select*" read-only="true"/>
					<tx:method name="*"/>
				</tx:attributes>
			</tx:advice>
		3、通過aop前綴說明被攔截的類,將攔截類與tx整合在一起。
			<aop:config>
				<aop:pointcut id="facadeClass" expression="execution(* facade.*.*(..))"/>
				<aop:advisor advice-ref="facadeTransactonMethod" pointcut-ref="facadeClass"/>
			</aop:config>
	(二)通過注解配置:
		在xml中加入如下標記,支持注解的事務處理
			<tx:annotation-driven/>
		在代碼中加入注解,說明具體的事務
			需要事務處理
				@Transactional(readOnly=false,propagation=Propagation.REQUIRED)
			不需要事務處理

	spring中的事務聲明,因xml格式說明用了schema,所以支持命名空間,使用了AspectJ語法
	<!--說明事務策略,說明攔截那些方法-->
		<tx:advice id="facadeTransactonMethod" transaction-manager="transactionManager">
			<tx:attributes>
				<tx:method name="select*" read-only="true"/>
				<tx:method name="*"/>
			</tx:attributes>
		</tx:advice>
	<!--攔截那些類-->
		<aop:config>
			<!--關切那些類-->
			<aop:pointcut id="facadeClass" expression="execution(* facade.*.*(..))"/>
			<aop:advisor advice-ref="facadeTransactonMethod" pointcut-ref="facadeClass"/>
		</aop:config>
	<!--啟動容器對注解型事務管理功能的支持,必須加,如果沒有,事務處理注解不起作用-->
			<tx:annotation-driven/>
		具體注解內容:
			需要事務處理
				@Transactional(readOnly=false,propagation=Propagation.REQUIRED)
			不需要事務處理
				@Transactional(readOnly=true)				@Transactional(readOnly=true)
	(三)applicationContext.xml

	<bean id="customerDao" class="dao.impl.HibernateCustomerDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>	
	<bean id="buyDao" class="dao.impl.HibernateBuyDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="realFacade" class="facade.Facade">
		<property name="buyDao" ref="buyDao"></property>
		<property name="customerDao" ref="customerDao"></property>
	</bean>
	
	<!-- 配置通用的代理-->
	<bean id="abstractProxy" abstract="true" 						class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="insert*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="select*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
	<!-- 配置具體的facade代理 -->
	<bean id="facade" parent="abstractProxy">
		<property name="target" ref="realFacade"></property>
	</bean>
	<!--通過struts進行處理-->
	<bean name="/insert" class="struts.action.InsertAction">
		<property name="facade" ref="facade"></property>
	</bean>
spring2的兩種事務處理
	1、通過xml文件說明事務的規則。
		--說明裝備及攔截那些方法給什么服務
		<tx:advice  id="methodAdvice" transaction-manager="transactionManager">
			<tx:attribute>
				<tx:method name="select*" read-only="true">
				<tx:method name="*"/>
			</tx:attribute>
		</tx:advice>
		--說明攔截那些類
		<aop:config>
			<aop:pointcut id="classPointcut" expression="execution (* facade.*.*(..))"/>
			<aop:advisor advice-ref="methodAdvice" pointcut-ref="classPointcut"/>
		</aop:config>
	2、通過注解說明事務的規則
		1、讓spring支持注解
			<annotation-driven/>
		2、在具體方法前加入注解說明需要什么樣的事務

八、spring2的事務配置
	1、加入tx及aop命名空間
	2、通過tx說明關切點即那些方法需要什么樣的服務及裝備
		<tx:advice id="facadeTransactonMethod" transaction-manager="transactionManager">
			<tx:attributes>
				<tx:method name="select*" read-only="true"/>
				<tx:method name="*"/>
			</tx:attributes>
		</tx:advice>
	3、通過aop前綴說明被攔截的類,將攔截類與tx整合在一起。
		<aop:config>
			<aop:pointcut id="facadeClass" expression="execution(* facade.*.*(..))"/>
			<aop:advisor advice-ref="facadeTransactonMethod" pointcut-ref="facadeClass"/>
		</aop:config>

	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲大片精品永久免费| 九色porny丨国产精品| 婷婷中文字幕综合| 国产黄色91视频| 4438x亚洲最大成人网| 国产精品久久久久久一区二区三区 | 欧美日韩在线免费视频| 国产亚洲精品精华液| 日本不卡视频一二三区| 91福利视频在线| 国产精品乱码一区二三区小蝌蚪| 美女视频黄久久| 欧美亚洲国产一区在线观看网站 | 日韩精品专区在线| 亚洲一区二区偷拍精品| 91啪亚洲精品| 日韩一区中文字幕| 丰满亚洲少妇av| 久久亚洲一级片| 看电视剧不卡顿的网站| 91国在线观看| 一区二区三区欧美日韩| 91亚洲大成网污www| 国产精品久久久久久久久晋中 | 免费观看一级特黄欧美大片| 精品视频在线看| 樱花草国产18久久久久| 色综合 综合色| 亚洲日本在线a| 99re在线精品| 亚洲情趣在线观看| 一本久久a久久精品亚洲| 亚洲欧洲精品一区二区三区| 99久久99久久精品免费看蜜桃| 欧美高清在线一区二区| 国产69精品久久久久毛片 | 成人丝袜18视频在线观看| 久久人人爽人人爽| 风间由美一区二区av101| 国产精品蜜臀在线观看| 91视频观看视频| 亚洲精品国久久99热| 欧美最猛黑人xxxxx猛交| 亚洲成人中文在线| 91精品视频网| 国产精品一区二区在线看| 欧美高清在线一区二区| 91麻豆精品视频| 午夜视频一区二区三区| 欧美一级午夜免费电影| 国产麻豆精品久久一二三| 日韩一区中文字幕| 欧美日韩另类国产亚洲欧美一级| 日韩高清一区二区| 国产欧美日韩中文久久| 91麻豆免费视频| 美女国产一区二区三区| 中文字幕乱码亚洲精品一区| 91高清视频免费看| 久久www免费人成看片高清| 欧美国产一区二区在线观看| 在线观看91视频| 国产在线看一区| 亚洲精品乱码久久久久久黑人| 337p亚洲精品色噜噜| 国产成人综合亚洲91猫咪| 亚洲美女屁股眼交3| 欧美电影免费观看高清完整版在| 国产成人av资源| 亚洲va欧美va人人爽午夜| 久久久五月婷婷| 欧美日精品一区视频| 国产成a人亚洲精| 天堂久久一区二区三区| 国产蜜臀97一区二区三区| 欧美三级乱人伦电影| 成人中文字幕电影| 日韩精品成人一区二区在线| 国产精品美女久久久久久 | 精品亚洲aⅴ乱码一区二区三区| 中文字幕欧美激情一区| 欧美精选一区二区| 成人av电影在线观看| 久久电影网电视剧免费观看| 亚洲精品视频在线观看网站| 国产欧美日韩不卡免费| 欧美日韩国产精品自在自线| 岛国av在线一区| 久久精品国产精品亚洲红杏| 亚洲香蕉伊在人在线观| 欧美极品美女视频| 欧美xxxxx裸体时装秀| 欧美人伦禁忌dvd放荡欲情| 91在线云播放| 成人免费视频app| 麻豆91在线播放免费| 日韩主播视频在线| 亚洲综合在线观看视频| 国产农村妇女毛片精品久久麻豆| 在线电影一区二区三区| 欧美综合久久久| 日本精品裸体写真集在线观看| 国产69精品久久久久毛片| 国产一区二区三区最好精华液| 日韩精品电影一区亚洲| 视频在线在亚洲| 五月天一区二区三区| 亚洲综合免费观看高清完整版在线 | 91久久久免费一区二区| 99精品视频在线观看免费| 成人午夜短视频| 国产91精品免费| 99热99精品| av在线不卡免费看| 91丨porny丨户外露出| 91麻豆精品秘密| 91官网在线观看| 欧美色涩在线第一页| 欧美日韩亚洲国产综合| 欧美日韩黄色一区二区| 91精品国产一区二区| 91精品国产综合久久久久久久| 7777精品伊人久久久大香线蕉完整版 | av电影在线观看一区| www.欧美日韩| 色网综合在线观看| 精品视频免费看| 欧美一区二区三区视频免费| 欧美不卡一区二区三区四区| 日韩精品一区二| 国产喷白浆一区二区三区| 亚洲欧美综合另类在线卡通| 一区二区三区在线观看视频| 亚洲成人激情自拍| 久久99热狠狠色一区二区| 国产一二精品视频| 91亚洲大成网污www| 欧美三级电影在线看| 欧美xingq一区二区| 久久久久久免费| 亚洲乱码中文字幕综合| 日韩电影免费一区| 国产99一区视频免费| 91国偷自产一区二区三区观看 | 欧美亚洲国产怡红院影院| 欧美一区二区三区小说| 久久久噜噜噜久久人人看| 1024国产精品| 日韩精品一级二级| 国产iv一区二区三区| 欧美日韩一区成人| 日本一区二区三区久久久久久久久不| 中文字幕电影一区| 一区二区三区精品视频| 久久成人av少妇免费| 欧美综合亚洲图片综合区| 精品美女被调教视频大全网站| 国产精品福利av| 国产一区二区免费看| 欧美亚洲一区二区三区四区| 久久亚洲一区二区三区明星换脸| 亚洲精品国产精华液| 国产一区二区不卡| 欧美色综合网站| 欧美激情一区不卡| 麻豆成人91精品二区三区| 日本福利一区二区| 亚洲国产成人在线| 日韩av不卡在线观看| 色婷婷综合久色| 中文字幕欧美三区| 国产综合久久久久久鬼色| 欧美日韩在线观看一区二区| 国产精品美女久久福利网站| 麻豆一区二区99久久久久| 欧美在线999| 亚洲天堂av一区| 成人网在线免费视频| 久久久91精品国产一区二区三区| 爽爽淫人综合网网站| 欧美色电影在线| 亚洲女同女同女同女同女同69| 国产精品一区二区久久不卡| 日韩一级精品视频在线观看| 亚洲自拍另类综合| 色一情一伦一子一伦一区| 国产精品―色哟哟| 国产成人免费av在线| 久久久久国产一区二区三区四区| 美腿丝袜亚洲三区| 欧美一级欧美三级| 奇米在线7777在线精品| 欧美美女网站色| 日本亚洲电影天堂| 欧美一区二区三区爱爱| 日本特黄久久久高潮| 欧美一级搡bbbb搡bbbb| 青青草国产成人av片免费| 欧美一级日韩免费不卡| 麻豆91精品视频|