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属性给注入进来【注入】
 8        --> 
 9        <bean id="userService" class="service.UserService">
10           <property name="userDao" bean="u"></property>
11        </bean>
12        
13 </beans>

4:使用(UserService.java)

 1         BeanFactory factory=new ClasspathXmlApplicationContext();
 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)factory.getBean("userService");
11         User u =new User();
12         service.add(u);

 

JavaWeb项目中引入spring框架,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。