主要步驟有以下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);