日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

对Spring的一些个人理解

發(fā)布時間:2023/12/31 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对Spring的一些个人理解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.??????Spring最主要的就是IOC控制反轉(zhuǎn)。通過IOC容器,配置對象的依賴關(guān)系。

通過BeanFactory factory=new ClassPathXMlApplicationContext(“….xml”);

?????????? UserManagerusrManager=(UserManager)factory.getBean(“useManager”);

/*
* userManager已經(jīng)通過xml為我們配置上了UserManagerImpl。

*在UserManagerImpl里面,通過set方法,為userDao配上了userDao4OracleImpl
*/

userManager.set(…);

Xml:

????????????? ??????????? <bean id="userDao4MySqlImpl"class="com.bjsxt.spring.dao.UserDao4MySqlImpl"/>

??????????????? ????????????? <beanid="userDao4OracleImpl" class="com.bjsxt.spring.dao.UserDao4OracleImpl"/>

??????????????? ????????????? <beanid="userManager" ?class="com.bjsxt.spring.manager.UserManagerImpl">

??????????????? ??????????????????????????? <!-- 構(gòu)造方法注入

??????????????? ??????????????????????????? <constructor-argref="userDao4OracleImpl"/>

??????????????? ??????????????????????????? -->

??????????????????????????????????????????? <!—通過set方法為userDao這個變量注入userDao4OracleImpl -->

??????????????? ??????????????????????????? <propertyname="userDao" ref="userDao4OracleImpl"/>

</bean>

2.??????BeanFactory是一個重量級的,最好只初始化一次。所以我們在web.xml中對Spring的xml配置文件進行配置。

<!--listener負(fù)責(zé)讀取我們context-param的配置文件,然后生成beanfactory -->

???????????? ???? ?<context-param>

????????? ????????????? <param-name>contextConfigLocation</param-name>

??????????????????????????? <param-value>

classpath:applicationContext-actions.xml,

classpath:applicationContext-beans.xml,

classpath:applicationContext-common.xml

</param-value>

???????????? ???? ?</context-param>

??????????????????????? ?<listener>

??????????????????????????? ????????????? <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

?????????????????????? </listener>

????????????? 如果再類中需要BeanFactory這個變量我們需要用如下方法調(diào)用:

BeanFactory? factory =WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());

//用BeanFactory足夠。其實后面的方法返回的是ApplicationContext類,他是繼承了BeanFactory,并封裝了一些方法。

//ApplicationContext?pc =WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());

UserManageruserManager = (UserManager)factory.getBean("userManager");

userManager.login(laf.getUsername(),laf.getPassword());

?

3.??????出現(xiàn)BeanFactory存在一定的依賴查找。但是這種方法也有一定的應(yīng)用。

現(xiàn)在理清一下思路,看上面1這個例子。如果想要userManager這個對象,但是不是通過BeanFactory創(chuàng)建,然后用getBean方法得到. 而是希望當(dāng)創(chuàng)建一個類的時候,自動通過set方法為我們創(chuàng)建userManager。那么這個類必須被Spring管理。比如Structs和Spring的集成,就是通過在structs.xml中的DelegatingActionProxy,進行factory的getBean,將 UserAction創(chuàng)建,然后set方法獲得userManager。??

<bean name="/index"class="com.env.business.actions.UserAction">

??? ??? <propertyname="userManager" ref="userManager"/>

?? ???</bean>


轉(zhuǎn)載于:https://www.cnblogs.com/hainange/archive/2012/03/31/6153652.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的对Spring的一些个人理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。