1、IOC测试类
package com.ioc;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class IocTest {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(BeanConfig.class);
//从容器中获取beanService
UserCtr ctr = context.getBean(UserCtr.class);
String res = ctr.access("张君宝");
System.out.println("访问返回结果:" + res);
}
}
2、注入依赖类
controller
package com.ioc;
import org.springframework.stereotype.Controller;
import javax.annotation.Resource;
@Controller
public class UserCtr {
@Resource
private UserService userService;
public String access(String name) {
System.out.println("调用UserCtr的access方法,入参:" + name + "...");
return userService.access(name);
}
}
service
package com.ioc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserDao userDao;
public String access(String name) {
System.out.println("调用UserService的access方法,入参:" + name + "...");
return userDao.access(name);
}
}
dao
package com.ioc;
import org.springframework.stereotype.Repository;
@Repository
public class UserDao {
public String access(String name) {
System.out.println("调用UserDao的access方法,入参:" + name + "...");
return "欢迎:" + name + "!";
}
}
3、beanconfig自动扫描
package com.ioc;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
//@Configuration
@ComponentScan
public class BeanConfig {
}
4、打印输出
调用UserCtr的access方法,入参:张君宝...
调用UserService的access方法,入参:张君宝...
调用UserDao的access方法,入参:张君宝...
访问返回结果:欢迎:张君宝!