1 首先导入srping包 创建好spring的配置
2 创建好三层架构-action-service-dao-model(这里的层并不完整,只是为了做演示而创建)
3 在各个层里面写入要调用层的字段,必须封装,不然spring的配置无法set注入。
在model层里面先创建UserInfo类----在这里用UserInfo类做例子
先在spring配置里面写注入:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="userInfoDao" class="com.gxa.bj.UserInfoDao">//配置dao层
</bean>
<bean id="userInfoService" class="com.gxa.bj.service.UserInfoService">//配置service层
<property name="userInfoDao" ref="userInfoDao"></property>
</bean>
<bean id="userInfoAction" class="com.gxa.bj.action.UserInfoAction">//配置service层
<property name="userInfoAction" ref="userInfoService"></property>
</bean>
</beans>
比如dao层 在这里只做演示 并不实现实际功能
public void UserInfoDao()
{
public void getInsert()
{
sysout("这是用户的信息的插入");
}
}
service层:
public void UserInfoService()
{
private UserInfoDao userInfoDao ;//封装要调用的dao层
public void setUserInfoDao(UserInfoDao u)
{
this.userInfoDao = u;
}
public UserInfoDao getUserInfo()
{
return userInfoDao;
}
public void getInsert()
{
sysout("这是业务层的调用");
userInfoDao.getInsert();//调用dao层的方法并没有实际的new 对象 在spring内已经注入
}
}
action层:
public void UserInfoAction()
{
private UserInfoService userInfoService;//封装要调用的service层
public UserInfoService getUserInfoService()
{
return userInfoService;
}
public void setUserInfoService(UserInfoService userInfoService)
{
this.userInfoService = userInfoService;
}
public void getInsert()
{
System.out.println("这是界面层的处理");
userInfoService.insertService();
}
}
测试Test
public Test
{
public static void main(String[] agrs)
{
ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserInfoAction user = appContext.getBean("userInfoAction",UserInfoAction.class);
user.getInsert();//一层掉一层
}
}