开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
Computer Science
Computer Science

Moment.js 如何对时间进行比较获得不同的天数

对 2 个 Moment 的时间进行比较,并且获得不同天数的代码如下: moment().diff(moment(date), 'days'); 这行代码已经简单到不能再简单了。 解读 简单来说,这个代码的意思就是先获得当前时间,然后与需要比较的时间进行比较。 对于比较的结果使用不同 Unit 来进行表示。 因为我们的目标是使用天,所以就直接使用 days 就可以了。     上面的图片显示了可以使用的参数。 针对我们项目的需求,我们写了一个上面的函数。 上面的函数先会对输入的日期进行判断,然后再进行计算。   https://www.ossez.com/t/moment-js/14098

2022年09月18日 0Comments 631Browse 0Like Read more
Computer Science

JDK 17有可能代替 JDK 8 吗

不好说,去 Oracle 化是很多公司逐步推进的政策。 JVM 有 OpenJ9。很多公司可能会用 IBM 的版本。 JDK 这东西,能用就不会升级。 JDK 太基础了,决定了后面的很多 jar 的版本。   https://www.ossez.com/t/jdk-17-jdk-8/14102

2022年09月18日 0Comments 589Browse 0Like Read more
Computer Science

VUE v-for 数据引用

VUE 的数据引用有多种方式。 直接输出数据 如果我们希望页面中直接输出数据就可以使用: {{ pageNumber }} 双括号引用的方式即可。 在 JavaScript 中引用 如果你需要直接在代码中使用,直接使用变量名就可以了。     上面这张小图,显示了引用的方式。   https://www.ossez.com/t/vue-v-for/14094

2022年09月11日 0Comments 762Browse 0Like Read more
Computer Science

VUE v-for 循环的 2 个使用

在项目中,需要使用 VUE 的 v-for 循环对列表进行输出。 直接在标签中使用。 <li v-for="data in totalPages" :key="data"> <a class="page-link" href="javascript: void(0);" @click="pageSearch(data )">{{data}}</a> </li> 上面的代码是直接在标签中输出。 根据 totalPages 中的数据大小循环 1 次输出 li 标签。 使用 template 因有时候我们可能还需要对标签进行操作和控制。 如果直接在标签中输出的话,不好对标签进行控制。 因此我们还可以使用 template。 代码如下: <template v-for="pageNumber in totalPages" :key="pageNumber"> <li class="page-item active"> <a class="page-link" href="javascript: void(0);" @click="pageSearch(pageNumber)">{{ pageNumber }}</a> </li> </template> 直接进行使用就可以了。     根据项目中需求,直接进行按照需要进行编码就可以了。 https://www.ossez.com/t/vue-v-for-2/14093  

2022年09月11日 0Comments 672Browse 0Like Read more
Computer Science

VUE 项目本地没有问题,部署到服务器上提示错误

一个 VUE 的项目在本地部署没有问题,但是部署到服务器上的时候提示访问资源的错误。     问题和解决 经过看看代码后才了解到,VUE 可以有几个配置文件。 分别是: .env 和 .env.production,显然后面的这个对应的是你服务器上部署所需要的配置。 如果你在服务器上部署,还是使用 localhost:8080,但是你的服务器可能跑在不是 8080 端口的话,就会导致上面资源请求找不到的情况。     在这里,只需要用真实使用的域名进行替换就可以了。 替换后再部署到服务器上,如果域名都已经配置好了,这样的配置是不会有问题的。   https://www.ossez.com/t/vue/14090

2022年09月11日 0Comments 884Browse 1Like Read more
Computer Science

VUE 如何格式化数字

在一个 VUE 的项目中,前端数字被显示为下面的长格式。     这个格式显然不是我们想要的。 我们需要将这一串数组进行格式化。 问题和解决 我们可以使用函数来进行解决。 定义一个方法。 dateFormat: function (date) { if (date === undefined) { return ""; } var moment = require("moment"); return moment(date).format("YYYY-MM-DD"); } 在这个方法是被用来进行格式化的,我们使用了 moment 这个组件。 完整的定义为下面的格式。     然后在数据中直接用这个方法就可以了。 在表格的数据中直接使用。     这样我们就可以对字段进行格式化了。 格式化后的界面显示为:     如果希望在 VUE 中定义一些可以使用的方法,直接定义使用就可以了。   https://www.ossez.com/t/vue/14089

2022年09月11日 0Comments 656Browse 0Like Read more
Computer Science

VUE 如何将父组件中的数据传递到子组件中

在我们的项目中我们使用 axios 进行异步调用。 因为异步调用的问题,如果我不采取手段,子页面没有办法获得父页面中的数据,页面将会显示为 没有数据。     问题和解决 这个问题的原因就是子组件在初始化的时候,父组件还没有获得数据。 可以使用的方法是 v-if 进行判断。 对比上面我们使用了 v-if 判断的代码和没有使用判断的代码。 上面的代码能够让子组件正确加载数据。     另外一个需要注意的是,在子组件中需要使用 props:['projects','currentPage'], 将数据从父组件中传递过来。 从父组件中将数据传递过来。   https://www.ossez.com/t/vue/14083

2022年09月11日 0Comments 548Browse 0Like Read more
Computer Science

Spring @Repository 注解

Spring 的项目严重依赖注解。 @Repository 注解 在Spring2.0之前的版本中,@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常 在Spring2.5版本中,引入了更多的Spring类注解:@Component,@Service,@Controller。Component是一个通用的Spring容器管理的单例bean组件。而@Repository, @Service, @Controller 就是针对不同的使用场景所采取的特定功能化的注解组件。 因此,当你的一个类被 @Component 所注解,那么就意味着同样可以用 @Repository, @Service, @Controller来替代它,同时这些注解会具备有更多的功能,而且功能各异。 最后,如果你不知道要在项目的业务层采用 @Service 还是 @Component注解。那么,@Service是一个更好的选择。 就如上文所说的,@Repository早已被支持了在你的持久层作为一个标记可以去自动处理数据库操作产生的异常(译者注:因为原生的java操作数据库所产生的异常只定义了几种,但是产生数据库异常的原因却有很多种,这样对于数据库操作的报错排查造成了一定的影响;而Spring拓展了原生的持久层异常,针对不同的产生原因有了更多的异常进行描述。 所以,在注解了@Repository的类上如果数据库操作中抛出了异常,就能对其进行处理,转而抛出的是翻译后的spring专属数据库异常,方便我们对异常进行排查处理。 通过上面的话来看就是如果是数据库持久层的就使用 @Repository 注解就好了。 根据 Spring Data JPA 的项目,我们会首先定义一个接口,在这个接口上可能会继承 CrudRepository。 如下面的代码: @Repository public interface VisaCheckeeRepository extends CrudRepository<VisaCheckee, Long> { VisaCheckee findVisaCheckeeByCheckeeVisaId(String checkeeVisaId); } 上面的代码中,就算不使用 @Repository 也是可以被扫描到的。 当然我们还是建议使用 @Repository 来注解这个与持久层有关的访问。 如果你还有实现类的话,也记得把你的实现类用 @Repository 注解上。     如果,我们来看看上面的图,就能比较直观的了解 @Repository 这个注解在 Spring 项目中的地位了。   https://www.ossez.com/t/spring-repository/14075

2022年08月28日 0Comments 649Browse 0Like Read more
Computer Science

Spring 最常用的几个注解

大家都知道 Spring 严重依赖注解。 实际开发的时候,我们用得最多的可能就是下面几个注解了。 注解 用途 @Component 最最普通的注解,表示这个类可以被注入到 Spring 容器中 。 @Repository 用于数据持久层,有关数据库的操作用这个就没错了。 @Service 用于业务逻辑,从数据库中把数据捞出来,我们总要干点什么吧。这个时候可以用这个注解来标记 @Controller 用 MVC 模式中的 C,主要被用来获得访问数据和对数据的返回,通常 JSON 数据格式的处理和生成,以及访问授权,Token 等都放这里。 其实 @Component 是最基本的,如果你希望注入到 Spring 中,并且使用 Spring 来进行管理。 直接用 @Component 没错。 但具体业务也有很多不一样,因此大部分时候都使用特定的注解。     余下 3 个注解的使用也基本上约定俗成了。 按照大家都使用的约定来就好了。   https://www.ossez.com/t/spring/14076

2022年08月28日 0Comments 534Browse 0Like Read more
Computer Science

Spring @Autowired 注解静态变量

最近应该项目的需要,需要使用一个工具类来访问数据库。 但是这个工具类又被定义成静态访问了。 我们也需要设置一个静态变量来访问数据库。 @Autowired private static VisaRepository visaRepository; private static VisaCheckeeRepository visaCheckeeRepository;     上面的代码在编译的时候是没有问题的。 但是在程序运行的时候提示空对象异常。     类加载后静态成员是在内存的共享区,静态方法里面的变量必然要使用静态成员变量。 通过日志我们可以非常明确的知道上面异常的主要原因就是因为 VisaRepository 这个变量没有初始化,简单来说就是没有被 @Autowired 上去。 问题和解决 在 Spring 框架中,不能 @Autowired一个静态变量,使之成为一个Spring bean。 这是因为当类加载器加载静态变量时,Spring上下文尚未加载。所以类加载器不会在bean中正确注入静态类。 这个和静态变量这个属性有关的,因为静态变量总是先于 Spring 的 上下文加载。 使用构造函数 其实 IDEA 已经非常明确的建议我们不要使用变量 @Autowired 的方式。 而建议使用构造方法或者 Setter 的方式。 Marks a constructor, field, setter method, or config method as to be autowired by Spring's dependency injection facilities. This is an alternative to the JSR-330 javax.inject.Inject annotation, adding required-vs-optional semantics.     在这个时候,我们只需要简单的将 @Autowired 放到构造方法上。 按照下面这样写就可以了。 private static VisaRepository visaRepository; private static VisaCheckeeRepository visaCheckeeRepository; @Autowired public CheckeeUtils(VisaCheckeeRepository visaCheckeeRepository, VisaRepository visaRepository) { this.visaCheckeeRepository = visaCheckeeRepository; this.visaRepository = visaRepository; } setter 给静态变量加一个 setter 方法,并在这个方法上加上@Autowired。 Spring 就能扫描到AutowiredTypeComponent 的 bean,然后通过setter方法注入。 @Autowired public static void setVisaRepository(VisaRepository visaRepository) { CheckeeUtils.visaRepository = visaRepository; }     定义 2 个变量 可以定义一个静态变量,一个非静态变量。 然后使用 @PostConstruct 注解。 这个注解是 JavaEE 使用的,我们通过注解就知道,这个注解就是在构造方法被执行后下一个执行的方法。 我们可以在这里对我们的静态变量初始化。 @Component public class TestClass { private static AutowiredTypeComponent component; @Autowired private AutowiredTypeComponent autowiredComponent; @PostConstruct private void beforeInit() { component = this.autowiredComponent; } // 调用静态组件的方法 public static void testMethod() { component.callTestMethod(); } } 使用 Spring 的工具类获取 Bean 这个方法就是直接调用 Spring 的上下文工具来获得组件。 AutowiredTypeComponent component = SpringApplicationContextUtil.getBean("component"); component.callTestMethod(); 这个方法实在太麻烦,每一次要用的时候都要调用一次,增加不少容易的代码。 总结 这个问题就是 Spring 的 Bean 在什么时候初始化的问题。 如果没有初始化的话,是没有办法直接调用和自动加载的。 根据官方的提示,不要使用变量上的自动加载,使用构造方法的自动加载就可以了,这个也是官方推荐的方式。   https://www.ossez.com/t/spring-autowired/14074

2022年08月28日 0Comments 677Browse 0Like Read more
1…6465666768…237
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (513)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1