Skip to content

Latest commit

 

History

History
46 lines (30 loc) · 2.08 KB

内存优化.md

File metadata and controls

46 lines (30 loc) · 2.08 KB

集合循环时的操作:

https://blog.csdn.net/hexuan1/article/details/48175259

内存优化:

​ 不打印

​ 尽量减少循环

​ 加载文件时,是否可以分批加载

​ 判空时,使用第三方的StringUtils和CollectionUtils

​ 分割时,分割符 选用char ;虽然String也行,但是运行时,需要先将String 转换成char

    mapper接口 			    service层 				     启动类				

接口@Mapper注解      +   service层@Resource进行DI    +          无               
接口@Repository注解  +   service层@Autowired进行DI   +     启动类:@MapperScan
接口无               +   service层@Resource进行DI    +     启动类@MapperScan
接口无               +   service层@Autowired进行DI    +     启动类@MapperScan
接口无               +   service层@Resource进行DI    +     启动类@MapperScan
接口@Repository注解  +    随意					+  没扫描 就会报错
			不能只用@Repository注解,否则在service层注入的时候会失败
				通过@Resource注解DI时,会爆红,不用管
				方式4会提示无法自动注入,不用管
				
Tips:
	@Mapper接口是mybatis提供的,所以在通过spring的@Auowired注解注入时,会提示无法注入
	@Resource注解是JDK提供的,默认根据名称注入(字段名或setter方法的属性名,),
	   找不到名称,才根据类型注入
	   如果设置了name属性,只会根据name注入
	   @Resource装配顺序
  1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
  2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
  4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;