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