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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

javascript

对Spring的一些个人理解

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

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

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

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

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

*在UserManagerImpl里面,通過(guò)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"/>

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

??????????????????????????????????????????? <!—通過(guò)set方法為userDao這個(gè)變量注入userDao4OracleImpl -->

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

</bean>

2.??????BeanFactory是一個(gè)重量級(jí)的,最好只初始化一次。所以我們?cè)趙eb.xml中對(duì)Spring的xml配置文件進(jìn)行配置。

<!--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>

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

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

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

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

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

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

?

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

現(xiàn)在理清一下思路,看上面1這個(gè)例子。如果想要userManager這個(gè)對(duì)象,但是不是通過(guò)BeanFactory創(chuàng)建,然后用getBean方法得到. 而是希望當(dāng)創(chuàng)建一個(gè)類(lèi)的時(shí)候,自動(dòng)通過(guò)set方法為我們創(chuàng)建userManager。那么這個(gè)類(lèi)必須被Spring管理。比如Structs和Spring的集成,就是通過(guò)在structs.xml中的DelegatingActionProxy,進(jìn)行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)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

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

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