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);

 

转载于:https://www.cnblogs.com/m-xy/p/3642328.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值