67,542
社区成员
发帖
与我相关
我的任务
分享public class UserController extends WAFController<UserService> {
}public class UserService extends WAFService<UserDAO> {
}public class UserDAO extends DAOSupport {
}public abstract class WAFController<T extends WAFService<?>> extends BaseController<T> {
}public abstract class WAFService<T extends DAOSupport> extends BaseService<T> {
}public abstract class BaseController<T extends BaseService<?>> {
}public abstract class BaseService<T extends DAOSupport> {
}public class DAOSupport implements DAO {
}public interface DAO {
}
从这些java代码看,
确实涉及:类class 和接口interface,抽象类abstract class ,泛型generics
那首先要了解类class 和接口interface,抽象类abstract class 等的 引用数据类型的特征:
共同点:
都可以有属性(或者称为成员变量)和方法(或者称为函数,成员函数)
假如都有属性和方法,那么:
--->接口的属性都是常量(final variable ),方法都是抽象方法(abstract methods)
--->非抽象类(普通类)不限定属性和方法
--->一般地,抽象类至少有1个抽象方法(abstract method)(虽然说抽象类不一定必须含有抽象方法,如果没有抽象方法和普通方法有何区别!这一点就不用太较真了)
。
什么是抽象方法(abstract method)?
只有包含关键字abstract 形如abstract methodName()。。。的声明,没有实现(方法体)的方法,
抽象方法就是为了通过抽象类继承(extends)或者接口实现(implements)来重新定义方法体(即重写,覆盖override )而存在的。
以下内容供参考,如果不太明白,就当看看吧
从这个平台的底层代码使用泛型来看,这个和spring4.0的泛型依赖注入很相似,如果我猜的不错,此平台可能用到了Spring4.0+
1.MVC模式就不在这里说明,使用mvc的原因是mvc使得代码分离,每个模块间的耦合性(Coupling)更小,代码独立度更高,方便代码的日常维护
2.按照调用关系:
:Controller调用Service,Service调用Dao(或者Mapper,使用mybatis时),Dao调用数据持久化层。
如果是调用,使用了框架,一般(没有源码)xml配置bean或者开启注解注入。
所谓注入,通俗理解,就是你不需要再手工new 一个对象,而是添加注解的方式由框架自动创建bean的实例(而bean则在配置文件中配置或者开启注解扫描配置,注解配置bean)。
注入的栗子,
如private UserDAO userDAO=new UserDAOImpl()------使用注解@...后,将变为上方添加注解的形式:
@Autowired(或者@Resource...)
private UserDAO userDAO;
也就是说,
@Autowired(或者@Resource...)
private UserDAO userDAO;
的作用类似于private UserDAO userDAO=new UserDAOImpl();
如果要注入,具体就是在要注入的类(实现类xxxDaoImpl,实现类名字不一定是xxxDaoImpl,
,各有各的起法,我就按照标准来),每一层使用的注解不一样(如果按照规范):
DaoImpl======@Repository(数据访问层)
(上面的注入栗子,则需要在类声明上方实现类添加bean的注解配置:
@Repository
pubilc class UserDAOImpl.....(){。。。。}
)
service=====@Service(业务层)
controller========@Controller
举个栗子,就拿平台的代码来说
DAOSupport implements DAO表明DAOSupport是一个Dao接口的实现类,重写DAO接口的方法.,如果类声明上方有注解,那可能是@Repository。。。
。。。。
额,废话说多。。。。。
[/quote]
话说我为什么要逃走?!我到北京工作。。
[/quote]
逃离北上广,没听过?
[/quote]
话说我为什么要逃走?!我到北京工作。。
