1、UserDao接口
public interface UserDao {
public void save();
}
2、UserDaoImpl类
import org.springframework.stereotype.Repository;
@Repository("userDao")
public class UserDaoImpl implements UserDao {
public void save() {
System.out.println("userDao...save...");
}
}
3、UserService接口
public interface UserService {
public void save();
}
4、UserServiceImpl类
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
@Service("userService")
public class UserServiceImpl implements UserService {
@Resource(name="userDao")
private UserDao user;
public void save()
{
//调用UserDao中的save方法
this.user.save();
System.out.println("userservice...save...");
}
}
5、UserController类
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
@Controller
public class UserController {
@Resource(name="userService")
private UserService service;
public void save()
{
this.service.save();
System.out.println("userController...save...");
}
}
6、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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd">
<!--
<context:annotation-config></context:annotation-config>
<bean id="d" class="com.itheima.annotation.UserDaoImpl"></bean>
<bean id="s" class="com.itheima.annotation.UserServiceImpl"></bean>
<bean id="c" class="com.itheima.annotation.UserController"></bean>
-->
<!-- 上述代码可用一行代码替换 -->
<context:component-scan base-package="com.itheima.annotation"></context:component-scan>
</beans>
7、程序运行结果
上述UserController中的@Controller注解标记了UserController类,这相当于在配置文件中编写<bean id=“userController” class=“com.itheima.Controller.UserController”/;然后使用了@Resource注解标注在userService属性上,这相当于在配置文件中编写<property name=“userService” ref=“userService”/;最后在其save方法中调用了userService中的save方法,并输出一句话。