JavaWeb項目中引入spring框架


主要步驟有以下3步:

1:下載spring的jar包
2:在項目中web.xml中添加spring配置
3:bean配置文件-applicationContext.xml


 

1:引入包,這個就不說了,官網下載。

1 spring-core-3.2.3.RELEASE.jar     核心依賴jar包 
2 spring-context-3.2.3.RELEASE.jar   容器包
3 spring-beans-3.2.3.RELEASE.jar   beans的管理包
4 spring-expression-3.2.3.RELEASE.jar
5 另外還需加入commons-logging.jar

2:在web.xml中添加spring配置。一個監聽,一個路徑(配置bean文件所在目錄)

1   <listener>  
2     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
3   </listener>    
4   <!-- 默認配置在WEB-INF目錄下 -->  
5   <context-param>  
6       <param-name>contextConfigLocation</param-name>  
7       <param-value>classpath:/applicationContext.xml</param-value>   <!-- <param-value>/WEB-INF/spring*.xml</param-value> -->  
8  </context-param>  

3:bean配置文件applicationContext.xml

 1 <beans>
 2        <!-- 每個bean都對應有一個id和class -->
 3        <bean id="u" class="dao.UserDaoImpl"></bean>
 4        <!-- 下面代碼表示:在id為userService的service中有一個名叫userDao的屬性,
 5                               更准確的說是在service中有一個setUserDao的方法 ,該方法調用時必須把上面id為u的bean傳進來,
 6                               此時就把這兩個東西裝配起來:專業說法是動態裝配。
 7                               即可以把UserService.java中的private的userDao屬性給注入進來【注入】
<!-- 一定要注意:下面代碼中的property中的name的值必須和你UserService.java中定義的變量要一致。
也就是和必須和你service中的setDao的方法匹配,有setDao(),則name的值就是dao,即去掉前面的set -->
--> 9 <bean id="userService" class="service.UserService"> 10 <property name="dao" ref="u"></property>
 11 </bean> 12 13 </beans>

4:使用(UserService.java)

 1         ApplciationContext ctx=new ClasspathXmlApplicationContext(“beans.xml”);
 2         //UserService service =new UserService();
 3         //UserDao userDao=(UserDao)factory.getBean("u");
 4         /**
 5          * u已經配置在xml中,直接從配置文件中拿,這是spring一個重要的功能
 6          * 此時,思考能不能userservice也不要我們new而是直接從配置文件中拿:如果直接在xml中加bean然后從factory中拿,
 7          * 此時會報錯,提示userdao沒有初始化。
 8          * 此時spring另一個重要功能就用到了:可以直接在配置文件中將dao和service的關聯關系設定好(見配置文件:上一步)
 9          */
10         UserService service =(UserService)ctx.getBean("userService");
11         User u =new User();
12         service.add(u);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM