<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- dao是DAO的实现 -->
<bean id="dao" class="com.deciphering.dao.impl.UserDAOImpl">
</bean>
<bean id="userService" class="com.deciphering.service.UserServiceImpl">
<!--
<property name="userDAO">
<ref bean="u"/>
</property>
-->
<constructor-arg>
<ref bean="dao"/><!-- 把DAO的实现注入到service层 -->
</constructor-arg>
</bean>
</beans>
这里结合了DAO层和业务层的结合来说明
业务层需要注入DAO组件才可以发挥作用
以前的话,总需要在业务层new一个DAO组件,现在有了spring就不需要 了,在beans.xml文件里面配置就好了,spring就像一个工厂,会帮你把业务层插上DAO组件
获得业务层也很简单
//获取上下文,上面是上下文,就是容器!
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
UserServiceImpl service = (UserServiceImpl)ctx.getBean("userService");
Context我们接触过很多了
有PageContext ActionContext都是容器,就是tomcat服务器
这里又有个ApplicatoinContext,这里可以理解成beans的容器,就是spring工厂