当前位置: 首页 > news >正文

网站开发 前景初期网站开发费会计分录

网站开发 前景,初期网站开发费会计分录,交通局网站建设方案策划书,装修图片目录 目的 准备 注意 相同类型-属性名不同 实体类 映射 使用 验证-查看实现类 测试 不同类型(策略模式) 实体类 映射 工具类 使用#xff1a;对象拷贝 验证-查看实现类 测试 使用#xff1a;集合拷贝 测试 策略模式说明 准备-依赖 目的 简化 BeanUtils.…目录 目的 准备 注意 相同类型-属性名不同 实体类  映射 使用 验证-查看实现类 测试 不同类型(策略模式) 实体类 映射 工具类 使用对象拷贝 验证-查看实现类 测试 使用集合拷贝 测试 策略模式说明 准备-依赖 目的 简化 BeanUtils.copyProperties 属性对拷代码自动生成空判断结合策略模式自定义转换 集合对拷一行代码就能完成以前 先new再 for循环再add的多行代码而且也不用判空 准备 这里我将开发中经常用到的全部依赖都列举出来若下载不下来依赖将settings.xml替换成我博客存档的那一份此处为了不影响观看放在文章末尾处。 注意 写好转换之后maven 记得 clean install查看一下生成的实现类有没有问题 实现类在  target 里面若target没有执行下列操作 相同类型-属性名不同 将 下面 Doctor 中的  i1  s1  分别转给 DoctorDto 中的  i2  s2 实体类  Data NoArgsConstructor AllArgsConstructor public class Doctor {private int id;private String name;String s1;int i1; } Data AllArgsConstructor NoArgsConstructor public class DoctorDto {private int id;private String name;private String s2;private int i2; } 映射 Mapper(componentModel spring) public interface BeanConvert {BeanConvert INSTANCE Mappers.getMapper(BeanConvert.class);/*** 不一致的属性映射*/Mappings({Mapping(target i2, source i1),Mapping(target s2, source s1)})DoctorDto toDto(Doctor doctor); } 使用 GetMapping(/test)public DoctorDto get() {Doctor doctor new Doctor();doctor.setId(1);doctor.setName(张三);doctor.setI1(1);doctor.setS1(1);return BeanConvert.INSTANCE.toDto(doctor);} 验证-查看实现类 clean install  重启 测试 可以看到 i1s1中的值已经过来了 不同类型(策略模式) 实体类 将下面 Sku2 中的  Long date  Integer code  分别转给 SkuDTO2 中的  Date date  String value 一个是时间戳转换一个是枚举转换 Data NoArgsConstructor AllArgsConstructor FieldDefaults(level AccessLevel.PRIVATE) public class Sku2 {Long skuId;String skuCode;String skuPrice;ListString nameList;Long date;Integer code; } Data NoArgsConstructor AllArgsConstructor FieldDefaults(level AccessLevel.PRIVATE) public class SkuDTO2 {Long skuId;String skuCode;String skuPrice;ListString nameList;Date date;String value; } 映射 uses 定义了两个策略一个负责转换时间戳一个负责转换枚举 Mapper(componentModel spring, uses {TimeConvertStrategy.class, EnumConvertStrategy.class}) public interface BeanConvert {/*** 策略模式测试*/Mapping(target value, source code)SkuDTO2 domain2Dto(Sku2 sku2);} Component public class EnumConvertStrategy {public String convert(Integer code) {return MyEnum.getByCode(code);}} Component public class TimeConvertStrategy {public Date date2TimeStamp(Long timeStamp) {if (timeStamp null) {return null;}return new Date(timeStamp);}} public enum MyEnum {A(1,哈哈),B(2,呵呵);private final Integer code;private final String msg;MyEnum(int code, String msg) {this.code code;this.msg msg;}public Integer getCode() {return code;}public String getMsg() {return msg;}public static String getByCode(Integer code) {if (code null) {return null;}for (MyEnum value : MyEnum.values()) {if (value.getCode().equals(code)) {return value.getMsg();}}return null;}} 工具类 这里使用工具类主要是辅助容器中的bean初始化的包括我们定义的策略的初始化 /*** ApplicationContextAware 接口可以让 Bean 获取到 ApplicationContext 对象* 通过这个对象可以获取 Spring 容器中的其他 Bean实例 或一些组件*/ Component public class ConvertSupport implements ApplicationContextAware {private static BeanConvert beanConvert;/*** 启动的时候直接获取到 beanConvert 的实例*/Overridepublic void setApplicationContext(ApplicationContext context) throws BeansException {// 这里如果没有执行说明没有注入容器但是我有了Component注解说明其未生效主启动类ComponentScan指定一下if (beanConvert null) {beanConvert context.getBean(BeanConvert.class);System.out.println(执行过这里);}}/*** 列表转换*/public static I, O ListO copyList(ListI inputList, BiFunctionBeanConvert, I, O function) {if (CollectionUtils.isEmpty(inputList)) {return Collections.emptyList();}ListO resultList new ArrayList(inputList.size());for (I input : inputList) {resultList.add(function.apply(beanConvert, input));}return resultList;}/*** bean to bean*/public static I, O O castBean(I input, BiFunctionBeanConvert, I, O function) {return function.apply(beanConvert, input);}} 使用对象拷贝 GetMapping(/test2)public SkuDTO2 get2() {Sku2 sku2 new Sku2();sku2.setSkuId(1L);sku2.setSkuCode(2);sku2.setNameList(Lists.newArrayList(测, 试));sku2.setDate(new Date().getTime());sku2.setCode(1);return ConvertSupport.castBean(sku2, BeanConvert::domain2Dto);} 验证-查看实现类 clean install  重启 测试 使用集合拷贝 GetMapping(/test3)public ListDoctorDto get3() {ListDoctor list Lists.newArrayList(new Doctor(1, 张三, 1, 1),new Doctor(2, 李四, 2, 2),new Doctor(3, 王五, 3, 3));return ConvertSupport.copyList(list, BeanConvert::toDto);} 此后一行代码就能完成以前 先new再 for循环再add的多行代码而且也不用判空 测试 策略模式说明 上面使用的是用来处理不同类型平常去除 if else 的使用方式 先定义两个 策略和上面类似spring管理后通过策略内部判断决定怎么走方法再抽象出一层 /*** 策略1*/ Component public class Situation1 implements Situation {private static final String value 用户传过来的值为1;/*** 判断进入哪个策略(if)*/Overridepublic Boolean judge(String val) {return value.equals(val);}/*** 逻辑处理*/Overridepublic int logic(int a, int b) {return a b;} } /*** 策略2*/ Component public class Situation2 implements Situation {private static final String value 用户传过来的值为2;/*** 判断进入哪个策略(if)*/Overridepublic Boolean judge(String val) {return value.equals(val);}/*** 逻辑处理*/Overridepublic int logic(int a, int b) {return a - b;} } public interface Situation {/*** 判断进入哪个策略(if)*/Boolean judge(String val);/*** 逻辑处理*/int logic(int a, int b); } RestController public class StrategyTest {Autowiredprivate ApplicationContext applicationContext;GetMapping(/test/st)public void test() {String value 用户传过来的值为2;MapString, Situation beans applicationContext.getBeansOfType(Situation.class);beans.forEach((k, Strategy) - {// 判断用户传过来的值从而决定进入哪个策略if (Strategy.judge(value)) {int num Strategy.logic(8, 2);System.out.println(num);}});} } 准备-依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.6.1/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.mytest/groupIdartifactIdspringboot-demo/artifactIdversion0.0.1-SNAPSHOT/versionnamespringboot-demo/namedescriptionspringboot-demo/descriptionpropertiesorg.mapstruct.version1.5.0.RC1/org.mapstruct.versionorg.projectlombok.version1.18.22/org.projectlombok.versionlombok-mapstruct-binding.version0.2.0/lombok-mapstruct-binding.versionmaven.compiler.source1.8/maven.compiler.sourcemaven.compiler.target1.8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--HuTool为我们提供的一些便捷工具。--dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion4.1.14/version/dependency!--Valid--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactIdversion2.3.2.RELEASE/version/dependency!--自定义注解--dependencygroupIdjavax.validation/groupIdartifactIdvalidation-api/artifactIdversion2.0.1.Final/version/dependency!-- 定时任务 --dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdexclusionsexclusiongroupIdcom.mchange/groupIdartifactIdc3p0/artifactId/exclusion/exclusions/dependency!-- 解析客户端操作系统、浏览器等 --dependencygroupIdeu.bitwalker/groupIdartifactIdUserAgentUtils/artifactIdversion1.21/version/dependency!-- pagehelper 分页插件 注意 pagehelper 和 spring-boot-starter-parent 版本容易出现循环依赖 一般通过加Lazy解决这里通过版本号解决--dependencygroupIdcom.github.pagehelper/groupIdartifactIdpagehelper-spring-boot-starter/artifactIdversion1.4.1/version/dependency!--HttpUtils需要的所有依赖--dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.15/version/dependencydependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependency!--mybatisplus--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.1/version/dependency!--DateTime 需要的依赖由于没有版本号管理如果不写version上面有一处会爆红--dependencygroupIdjoda-time/groupIdartifactIdjoda-time/artifactIdversion2.9.4/version/dependency!--代码生成器--dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion3.4.1/version/dependency!--velocity模板引擎--dependencygroupIdorg.apache.velocity/groupIdartifactIdvelocity-engine-core/artifactIdversion2.3/version/dependency!-- easyexcel依赖 --dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.0.5/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-base/artifactIdversion4.3.0/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-web/artifactIdversion4.3.0/version/dependencydependencygroupIdcn.afterturn/groupIdartifactIdeasypoi-annotation/artifactIdversion4.3.0/version/dependencydependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.16/version/dependency!--Lists.partition 需要的依赖--dependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion25.1-jre/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactIdexclusionsexclusiongroupIdio.lettuce/groupIdartifactIdlettuce-core/artifactId/exclusion/exclusions/dependency!-- lt;!ndash;jedisredis客户端ndash;gt;--dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactId/dependency!-- lt;!ndash;使用redisson作为所有分布式锁分布式对象等功能框架也可以使用springboot的方式就不用自己Configuration了ndash;gt;--dependencygroupIdorg.redisson/groupIdartifactIdredisson/artifactIdversion3.13.3/version/dependency!--mysql驱动--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.17/version/dependencydependencygroupIdorg.mapstruct/groupIdartifactIdmapstruct/artifactIdversion${org.mapstruct.version}/version/dependency!-- 特别注意 mapstruct 和 lombok 的顺序顺序出问题实现类就不映射了 --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${org.projectlombok.version}/versionscopeprovided/scope/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.10/version/dependency!--CollectionUtils依赖--dependencygroupIdcommons-collections/groupIdartifactIdcommons-collections/artifactIdversion3.2.2/version/dependencydependencygroupIdcom.google.code.google-collections/groupIdartifactIdgoogle-collect/artifactIdversionsnapshot-20080530/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-aop/artifactId/dependency!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -- !-- dependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactId/dependency--dependencygroupIdcom.alibaba/groupIdartifactIdtransmittable-thread-local/artifactIdversion2.11.5/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.google.guava/groupIdartifactIdguava/artifactIdversion21.0/version/dependencydependencygroupIdjavax.persistence/groupIdartifactIdpersistence-api/artifactIdversion1.0/version/dependency!--注意3.0.0 版本 http://localhost:8081/swagger-ui.html 页面可能登陆不上去--dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependencydependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependency/dependencies!-- 特别注意 mapstruct 和 lombok 的顺序顺序出问题实现类就不映射了 --buildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetannotationProcessorPathspathgroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${org.projectlombok.version}/version/path!-- This is needed when using Lombok 1.18.16 and above --pathgroupIdorg.projectlombok/groupIdartifactIdlombok-mapstruct-binding/artifactIdversion${lombok-mapstruct-binding.version}/version/path!-- Mapstruct should follow the lombok path(s) --pathgroupIdorg.mapstruct/groupIdartifactIdmapstruct-processor/artifactIdversion${org.mapstruct.version}/version/path/annotationProcessorPaths/configuration/plugin/pluginsresourcesresourcedirectorysrc/main/java/directoryincludesinclude**/*.properties/includeinclude**/*.xml/includeinclude**/*.yml/include/includesfilteringfalse/filtering/resourceresourcedirectorysrc/main/resources/directoryincludesinclude**/*.properties/includeinclude**/*.xml/includeinclude**/*.yml/include/includesfilteringfalse/filtering/resource/resources/build/project
http://www.hkea.cn/news/14354731/

相关文章:

  • 什么叫网站的空间感c net做的网站
  • 做网站的 深圳建设一个跟京东一样的网站
  • 广州番禺网站公司内蒙建设厅投诉网站
  • 白银市建设局网站中国建设网官网查询登录入口
  • 网站建设公司 知道万维科技网上商城采购
  • 临沂市建设工程监理公司网站编程猫官方网站入口
  • 魔兽7.2国内做插件网站市场营销的三大战略四大策略
  • 怎么合作做网站装修公司装饰
  • 北京注册网站做网站和做网页有什么区别
  • 潍坊住房与城市建设部网站网址之家
  • 做网站上的图片如何设定分辨率建设银行鹤岗分行网站
  • 上海出啥大事了今天seo推广的特点
  • 开发网站的流程是学校招办网站怎么做
  • 做网站公司不负责任怎么办建筑信息平台查询
  • 家里面的服务器可以做网站吗wordpress建站方便吗
  • 网站建设技术 翻译wordpress 修改数据库连接
  • 网站怎么做切换中英文网站底部图片
  • 云南手机网站建设zencart 网站老是跳转到原地址
  • 垂直电商网站有哪些产品宣传小视频制作
  • 网站建设 软件有哪些一个网站建设需要花多少钱
  • 南宁网站建公司外文网站做t检验分析
  • 常州商城网站制作公司购物网站页面设计步骤
  • 龙川县建设网站四川平台网站建设方案
  • 上海高端网站建设服中山蓝图科技网站建设
  • 免费网站设计培训班科技大学全国排名
  • 企业做网站需要提交的资料表格wordpress一键分享微博
  • 网站设计公司长沙婚礼视频制作软件
  • 部门网站建设怎么做建筑企业名单和电话
  • 口子网站怎么做张掖建设网站
  • 删除网站内容嵩明县住房和城乡建设局网站