下面来对现在ioc做的简单测试
UserDao.Java 模拟数据库的操作
- package com.ajun.test.dao;
- import com.ajunframework.beans.annotation.Dao;
- @Dao
- public class UserDao {
- public void add(){
- System.out.println("UserDao's add method was called");
- }
- }
UserService.java模拟业务层的操作
- package com.ajun.test.service;
- import com.ajun.test.dao.UserDao;
- import com.ajunframework.beans.annotation.Property;
- import com.ajunframework.beans.annotation.Service;
- @Service
- public class UserService {
- @Property
- private UserDao userDao;
- public void add(){
- System.out.println("UserService's add method was called");
- userDao.add();
- }
- public UserDao getUserDao() {
- return userDao;
- }
- public void setUserDao(UserDao userDao) {
- this.userDao = userDao;
- }
- }
UserAction.java模拟action层得操作
- package com.ajun.test.action;
- import com.ajun.test.service.UserService;
- import com.ajunframework.beans.annotation.Action;
- import com.ajunframework.beans.annotation.Property;
- @Action
- public class UserAction {
- @Property
- private UserService userService;
- public void add(){
- System.out.println("UserAction's add method was called");
- userService.add();
- }
- public UserService getUserService() {
- return userService;
- }
- public void setUserService(UserService userService) {
- this.userService = userService;
- }
- }
下面是测试方法
- package com.ajun.test;
- import com.ajun.test.action.UserAction;
- import com.ajunframework.beans.applicationContext.AnnotationClassPathApplicationContext;
- import com.ajunframework.beans.applicationContext.ClassPathApplicationContext;
- import com.ajunframework.beans.factory.AnnotationBeanFactory;
- public class Test {
- public static void main(String [] ag){
- ClassPathApplicationContext cx =
- AnnotationClassPathApplicationContext.getAnnotationClassPathApplicationContext();
- cx.init();
- UserAction action = AnnotationBeanFactory.getBeanFactory().getBean("userAction",UserAction.class);
- action.add();
- }
- }
打印结果:
- UserAction's add method was called
- UserService's add method was called
- UserDao's add method was called
ioc这个project只是给大家提供个思路而已,现在ioc只是实现singleton 而没有实现prototype ,如果大家有思路 ,可以讨论一下,肯定是会用到prototype模式的。
下一节我会给大家mvc的实现