service负责业务逻辑,dao负责数据访问。
以注册用户这个功能为例,service层要负责检查用户名是否保留字,是否已使用,然后把信息写入数据库,再生成关联信息比如权限等也写入数据库。
同时还要处理异常。这一串动作就是业务逻辑,service层要负责实现,但它不应该关心底层用的是mysql还是oracle,也不应该由它拼接SQL语句。
dao层的代码则只与数据库交互,比如service层要添加用户记录,它就执行insert语句,要检查用户是否已存在,它就执行select语句。
标准主流现在的编程方式都是采用MVC综合设计模式,MVC本身不属于设计模式的一种,它描述的是一种结构,最终目的达到解耦,解耦说的意思是你更改某一层代码。
如果你会像spring这样的框架,你会了解面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。初期也许都是new对象去调用下一层。
因为这是要实现的类的一个对象名而已,比如在一个Student实现类上加@Service(“student”),括号里面就是给实例化后的Student对象取个名字。这是在一个接口有多个实现类的情况下区分实现类的方式。
比如Student实现了Person接口,在controller里面@Autowired Person时,假如这时Person还有另一个实现类User,为了确定实例化Student还是User, @Service括号里面的东西就有用了,
@Autowired
@Qualifier(“student”)
private Person person
这样就确定实例化了一个Person指向一个Student对象。
扩展资料:
类与对象的关系:
类是创建对象的模板,确定对象将会拥有的属性和方法。
类是对象的抽象化;对象是类的具体化。
类是一种数据类型,是对象的数据类型(不同于int等基本类型:类具有方法)
方法用于定义类的某种行为(或功能),其语法结构如下:
访问控制符 [修饰符] 返回值类型 方法名( [参数] )
方法中的访问控制符用于限制方法在其他类中的使用范围。
访问控制符分为四种:public、protected、友好的和private。
static修饰符用于限制方法的调用方式:
static修饰的方法可以直接使用类名调用也可以使用类创建的对象调用;
非static修饰的方法只能使用类创建的对象调用。
其它常用方法修饰符有final和synchronized
方法返回引用数据类型的数据,则返回值类型必须是返回数据所属的数据类型或者其父类。
方法返回引用数据类型的数据,则返回值类型必须是返回数据所属的数据类型或者其父类。
方法如果有返回值,则必须借助return关键字将数据返回;
首字母必须小写,如果由多个单词组成,从第二个单词开始首字母必须大写;方法名一般由一个动词或者动名词构成。