创建三层架构写好代码
controller
package com.dmc._01.controller;
import com.dmc._01.service.IUserService;
import org.springframework.stereotype.Controller;
//@Controller//在配置文件中配置依赖关系,这里的注解就不需要了
public class UserController {
private IUserService userService;
public IUserService getUserService() {
return userService;
}
public void setUserService(IUserService userService) {
this.userService = userService;
}
}
service实现类
package com.dmc._01.service.impl;
import com.dmc._01.dao.impl.UserDaoImpl;
import com.dmc._01.service.IUserService;
import org.springframework.stereotype.Service;
//@Service
public class UserServiceImpl implements IUserService {
private UserDaoImpl userDao;
public UserDaoImpl getUserDao() {
return userDao;
}
public void setUserDao(UserDaoImpl userDao) {
this.userDao = userDao;
}
}
dao实现类
package com.dmc._01.dao.impl;
import com.dmc._01.dao.IUserDao;
import org.springframework.stereotype.Repository;
//@Repository
public class UserDaoImpl implements IUserDao {
}
在_01同级目录下创建并编辑spring.xml
下面配置中表示
生成controller的对象,同时将service对象引入controller对象中
生成dao对象, 将dao对象引入到service对象中去
这样的做法是在不修改原代码的前提下在外部使用配置文件来自动生成对象
其实和在实现类上面加@Controller是一个意思
<?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.xsd">
<!--servic引入dao-->
<bean id="service" class="com.dmc._01.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
<bean id="userDao" class="com.dmc._01.dao.impl.UserDaoImpl"/>
<!--controller引入service-->
<bean id="controller" class="com.dmc._01.controller.UserController">
<property name="userService" ref="service"/>
</bean>
</beans>