懒加载

Spring(5):spring懒加载

浪子不回头ぞ 提交于 2019-12-02 11:05:22
目录 一、懒加载介绍 1.概念 2.作用 二、环境 1.pom.xml文件 2.Spring.xml 三、代码实现 1.创建bean 2.交给spring管理:对于单例模式,非懒加载 3.交给spring管理:对于单例模式,懒加载 4.将spring.xml下所有bean统一都设置为懒加载 四、总结 一、懒加载介绍 1.概念 Spring容器会在创建容器时提前初始化Singleton作用域的bean,即在创建环境ApplicationContext的时候,单例作用域的Bean就会被实例化。注意:如果是prototype作用域的bean,则其是在调用该bean的时候创建的(已经验证) 但是如果Bean被标注了lazy-init="true",则该Bean只有在其被需要的时候才会被初始化。 2.作用 如果某个Bean再程序运行周期中都可能不会被适用,那么可以设定该Bean为懒加载。优势是尽量节省了服务器的资源,缺点是可能会导致某个相应的时间增加。 二、环境 1.pom.xml文件 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.7.RELEASE</version> </dependency> <dependency>

ionic4关于ion-tabs的研究

落花浮王杯 提交于 2019-12-02 10:33:51
最近在研究ionic4,对ion-tabs的用法有疑惑 在tab模块里的写法 tab.html <ion-tabs selectedIndex="{{constants.rootTab}}"> <ion-tab [root]="tab1Root" tabTitle="主页" tabIcon="home"></ion-tab> <ion-tab [root]="tab2Root" tabTitle="进销存" tabIcon="inventory"></ion-tab> <ion-tab [root]="tab3Root" tabTitle="商城" tabIcon="shop"></ion-tab> <ion-tab [root]="tab4Root" tabTitle="我的" tabIcon="mine"></ion-tab> </ion-tabs> tab.ts tab1Root = 'HomePage' tab2Root = 'InventoryPage'; tab3Root = 'ShopPage'; tab4Root = 'RegisterMinePage'; 在app.component.ts里的写法 .....import { TabsPage } from '../pages/tabs/tabs'; ....... rootPage:any = TabsPage;

SpringBoot JPA懒加载异常 - com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy

耗尽温柔 提交于 2019-12-02 04:42:41
问题与分析 某日忽然发现在用postman测试数据时报错如下: com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy [com.cbxsoftware.cbx.attachment.entity.RefAttachment#c109ec36e60c4a89a10eabc72416d984] - no Session (through reference chain: com.cbxsoftware.cbx.sampletracker.elasticsearch.entity.SampleTrackerDetailEstc["sampleTracker"]->com.cbxsoftware.cbx.sampletracker.elasticsearch.entity.SampleTrackerEstc["sampleTracker"]->com.cbxsoftware.cbx.sampletracker.entity.SampleTracker["item"]->com.cbxsoftware.cbx.item.entity.RefItem["image"]->com.cbxsoftware.cbx.image.entity.RefImage["propFormat"]->com

dns域名解析

耗尽温柔 提交于 2019-12-02 03:02:16
转自:https://yq.aliyun.com/articles/58967?spm=5176.100244.teamconlist.8.pxqewG 摘要: 移动互联网时代,如何优化你的网络 —— 域名解析篇 阿里云 移动服务 泠茗 域名(Domain Name),是由一串用点分隔的名字组成的互联网上某台计算机或某组计算机的标识,它的目的是为了方便人们更简单便捷地访问互联网上的服务。在实际的系统实现中,域名通过DNS(Domain Nam 移动互联网时代,如何优化你的网络 —— 域名解析篇 阿里云 移动服务 泠茗 域名(Domain Name),是由一串用点分隔的名字组成的互联网上某台计算机或某组计算机的标识,它的目的是为了方便人们更简单便捷地访问互联网上的服务。在实际的系统实现中,域名通过DNS(Domain Name System)系统转化为服务器的IP地址,以方便机器通过IP进行寻址和通信。上述行为,我们称之为域名解析。 作为一次网络通信最前置的环节,域名解析的重要性不言而喻。在传统的基于浏览器的网站访问场景下,域名解析环节由浏览器内核实现,网站开发者无需关心域名解析的细节。But there are always two sides to every coin,一旦域名解析环节发生异常,开发者面对这样的黑盒架构就会显得束手无策,一个很典型的例子即域名劫持问题

图片懒加载

▼魔方 西西 提交于 2019-12-01 16:59:05
一、什么是懒加载技术? 定义:这张图片很懒,喜欢临时抱佛脚,都到了出现在屏幕视线范围内了才加载。不过懒人有懒福,这样可以在那种有大量图片需要展示的网站上优化性能,减轻浏览器压力,毕竟你要浏览器一次加载一两百张图片也很累 二、为什要使用这个技术? 这样做能防止页面一次性向服务器发送大量请求,导致服务器响应慢,页面卡顿崩溃等。比如一个页面中有很多图片,如淘宝、京东首页等等,如果一上来就发送这么多请求,页面加载就会很漫长,如果js文件都放在了文档的底部,恰巧页面的头部又依赖这个js文件,那就不好办了。更为要命的是:一上来就发送百八十个请求,服务器可能就吃不消了(又不是只有一两个人在访问这个页面)。因此优点就很明显了:不仅可以减轻服务器的压力,而且可以让加载好的页面更快地呈现在用户面前(用户体验好)。 三、怎么实现? 原理: 先将img标签的src链接设为同一张图片(比如空白图片),先把图片地址存储在一个临时属性上,然后将真正的图片地址存储在data-src中,当用浏览器的onscroll事件监听到该图片元素进入可视窗口时,将自定义属性中的地址存储到src属性中,达到懒加载的效果。 判断条件 window.innerHeight 可以获取到这个窗口的高度(不包括工具栏和滚动条)。getBoundingClientRect()方法用来获取页面中某个元素的左、上、右、下分别相对浏览器视窗的位置

java设计模式——单例模式

半腔热情 提交于 2019-12-01 07:58:29
整理一下设计模式的个人理解。 描述 单例模式是java中比较常见的一种设计模式,顾名思义为一个类只能创建一个实例,多用于全局对象,如:配置的加载,spring bean加载各种配置(spring容器所有bean默认都是单例) 单例的特点为构造方法私有,因此必须内部进行实例化,并提供静态访问方法为其他对象提供该实例。即: 1、单例只能有一个实例 2、单例构造方法私有 3、单例必须自己创建唯一实例,并提供其他对象访问该实例的静态方法 优缺点 优点:由于单例模式只生成了一个实例,所以能够节约系统资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。 缺点:因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,没有接口,不能继承,不方便扩展。 实现 1> 懒汉式-线程不安全 public class Singleton1 { private static Singleton1 instance; /** * 构造方法私有 */ private Singleton1() { } /** * 提供静态访问实例方法 * 懒加载,其他地方用到该实例时调用该方法/创建实例,多线程时可能会创建多个实例,线程不安全 * * @return */ public static Singleton1 getInstance() { if (instance == null

SpringDataJPA中No serializer

让人想犯罪 __ 提交于 2019-12-01 07:43:05
本文链接: https://blog.csdn.net/qq_42136250/article/details/88581844 SpringMVC与Jpa集成后,有懒加载时会出现此问题 错误原因: jpa的懒加载对象自己为填加了一些属性,(“hibernateLazyInitializer”,“handler”,“fieldHandler”) , 这些属性会影响到SpringMVC返回Json(因为返回时有个内省机制, 因为你需要序列化对象有一个属性是一类类型,而你使用了Hibernate的延迟加载所以这里是个Hibernate的代理对象。该代理对象有些属性不能被序列化所以会报错。 解决方案 解决方案一:加注解(但是随着仓库类的增多,工作量会加大)在该属性上添加 @JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"}) 解决方案二: 重写:ObjectMapper,然后在applicationContext-mvc.xml 配置这个映射(这个方法一劳永逸,之后在Spring集成JPA进行懒加载的时候,都会避免No serializer的错误) package cn.jiedada.aisell.common; import com.fasterxml.jackson

单例模式概念及实现

被刻印的时光 ゝ 提交于 2019-12-01 05:29:40
单例模式的由来:多个线程操作不同实例对象。多个线程要操作同一对象,要保证对象的唯一性 解决问题:实例化过程中只实例化一次 单例模式: 有一个实例化的过程(只有一次),产生实例化对象 new 提供返回实例对象的方法 单例模式分类: 饿汉模式: 线程的安全性、性能、懒加载( lazy ) public class HungerySingleton { //加载的时候就产生的实例对象 private static HungerySingleton instance=new HungerySingleton(); private HungerySingleton(){ } //返回实例对象 public static HungerySingleton getInstance(){ return instance; } public static void main(String[] args) { for (int i = 0; i < 20; i++) { new Thread(()->{ System.out.println(HungerySingleton.getInstance()); }).start(); } } } 线程安全性:在加载的时候已经被实例化,所以只有这一次,线程安全的。初始化通过 JVM ClassLoade 懒汉式: 性能比较好 懒加载 线程的安全性 问题

Hibernate中的加载机制

吃可爱长大的小学妹 提交于 2019-12-01 02:43:12
Hibernate中有两种加载机制: 1:即时加载机制:在使用get方式获取数据时,hibernate会先检查缓存中是否有我们需要的数据,如果没有立即执行hql语句在数据库中进行加载数据。 2:懒加载机制:在我们使用load方式获取数据时,hibernate不会立即执行hql语句查询数据,而是在我们使用数据的时候执行hql语句子啊数据库中加载数据。懒加载使用的是一个代理对象。 默认情况下,类(class)的懒加载是true,这时load使用懒加载,而get使用即时加载。 在一对多映射的情况下,set集合上的懒加载也是true,这时使用get或者load方法都是使用懒加载方式。 原因:get和load只是对于类加载。而set或者list对于get和load来说使用统一的加载方式。 在一对多的时候,我们只想知道多端的数量的时候,即set的大小的我们可以设置lazy为extra,这种方式在加载的时候更加智能,不会全部查询多端数据,只是查询了我们需要的内容。如果想要property里面的属性要支持懒加载我们需要导入第三方的插件。 来源: oschina 链接: https://my.oschina.net/u/2743037/blog/786397

org.hibernate.LazyInitializationException

三世轮回 提交于 2019-11-30 19:52:01
spring3+hibernate4配置环境的时候,用Junit4测试一个方法:出现懒加载异常 ,web.xml里配置了openSessioninViewFilter,使用 public class TestSessionFactory extends AbstractJUnit4SpringContextTests 就这个报错,而继承 public class TestSessionFactory extends AbstractTransactionalJUnit4SpringContextTests 就不会出现,懒加载异常。(技术太菜不知道为啥啊) 来源: oschina 链接: https://my.oschina.net/u/999575/blog/145086