之前我们我们的ioc都是基于配置实现,下面我们来看一下通过注解实现的ioc。
1、前提约束
- 创建一个spring项目 https://www.jianshu.com/p/881728c97c3c
2、操作步骤
- 在src/main/resources文件夹下创建applicationContext.xml,内容如下:
<?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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="net.wanho"></context:component-scan>
</beans>
- 在src/main/java文件夹下创建net.wanho.controller.UserController.java,内容如下:
package net.wanho.controller;
import net.wanho.entity.User;
import net.wanho.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@Component
//@Controller
public class UserController {
@Resource
//@Autowired
UserService userService;
public List<User> queryUser()
{
List<User> list = userService.query();
return list;
}
}
- 在src/main/java文件夹下创建net.wanho.controller.UserService.java,内容如下:
package net.wanho.service;
import net.wanho.entity.User;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
//@Service
public class UserService {
public List<User> query()
{
List<User> list = new ArrayList<>();
list.add(new User(1,"ali"));
list.add(new User(2,"zhangli"));
return list;
}
}
- 确保src/main/java文件夹下包含net.wanho.entity.User.java类
- 在src/main/java文件夹下创建测试类,内容如下:
public class Test{
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserController userController = applicationContext.getBean("userController", UserController.class);
System.out.println();
}
}
以上就是spring中ioc注解实现的过程。