构造方法就是初始化这个对象的时候调用,可不可以写业务代码,这个没有限制的
叶县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
有些时候我们创建一个对象,又必须给某些属性或者说字段赋值的时候,那么就可以在构造方法里进行赋值
super();
是表示调用父类的构造方法(函数),是默认的
你可以把它删除掉,编译器会自动在构造方法第一条语句增加这个的,
class反编译过来,构造方法的第一条语句也会是super();
请采纳哈.
其实你已经很好了,我认为写程序首先要有自己的思路,其次才是看你真正掌握的技能...比如一艘船如果有足够大的马力,但是缺少正确的方向..那样子会装上暗礁的,所以在编程方面业务逻辑是很重要的,接下来只要有一般的技能基础就可以了;
就拿你说的修改密码来说吧:第一步:我首先要知道要修改人的ID,然后才能按照一定的方法修改数据库中的表:一个update user set user_password=“要修改的密码” where user_id=“指定修改人的ID” 再加上一定的连接数据库的方法..程序员修改密码的目的就达到了...加油!
烟囱式开发模式:
上述开发模式有几个弊端:
这样开发模式的优势:
业务代码集中在业务层 service,专注于业务对象 bo 的封装以及业务对象给展示层 vo的转换,封装复用逻辑,可以减少大量重复的代码,后期维护便捷的多。
数据库改动只设计dao层,快速响应各个业务。
业务代码如何拒绝 all in one
以上的controller代码最突出的缺点就是代码完全无法复用,完全没有使用到面向对象封装,集成,多态的特性。业务开发中,一般都是权限校验,参数校验,业务判断,业务对象转换数据库操作。
我的做法是业务抽象,把公共代码进行抽取,通过配置的形式的方式调用,使业务代码可以以可插拔的方式选择指定的权限校验,参数校验。简单来说,就是善用AOP面向切面编程的思想,示例如下:
使用aop对权限校验逻辑进行抽取,能够通过注解的方式指定哪些controller需要进行权限校验。对用户进行数据过滤时,使用controller的拦截器获取该用户拥有的各类权限,并把用户数据保存在上下文threadloal中,并且通过配置对指定url进行拦截。在业务层,从上下文拿到用户权限数据做各类数据业务过滤,通过aop实现各类拦截业务的指定调用。
使用java validtion对通用的字段,例如电话号码,身份证,进行扩展,详细可以参考,如何使用validation校验参数?,在项目中其他类似校验进行复用。
业务判断:使用设计模式对不同类型的业务开发进行封装,集成,多态扩展;这样在后期的扩展中可以基于开发封闭原则,针对新的业务扩展子类即可。
业务开发过程中,依照阿里巴巴研发规范的要求,存在DO(数据库表结构一致的对象),BO(业务对象),DTO(数据传输对象),VO(显示层对象),Query(查询对象)。
使用MapStruct,可以灵活的控制的不同属性值之间的转换规格,比org.springframework.beans.BeanUtils.copyProperties()方法更加灵活。
例如,公共字段,生成日期,创建人,修改时间,修改人使用插件的形式进行封装,在mybatis-plus中使用MetaObjectHandler,在执行sql之前完成统一字段值的填充。
项目如何做好代码注释?
在业务中特别是状态的值,在对外发布api的vo对象中,加上状态枚举值的注释,并且使用@link 注解,可以直接连接到枚举类,让开发者一目了然。
如下:
(1) 一个Java语言开发工具包(Java Devekopment Kit),其中包括Java 编译器和Java运行环境。
(2) 一份Java语言API文档,目前版本的Java语言API文档同样可以免费。
(3) 一个Java语言集成开发环境,能够在其中编辑Java代码,并且进行编译与调试。推荐使用的集成开发环境是JCreator。
建议去找老师让老师 带你做 项目 我这几天正在做的 感觉收获好多的 上课学到的东西其实更本就不够用的 只有实践了 你才能知道自己的差距