日常工作總結
- 1000. JAVA基礎
- 1. 泛型
- 1.1 泛型和Object的區別
- 1100. Spring
- 1. 常用注解
- 1.1 @ControllerAdvice注解
- 1.2 緩存@Cacheable
- 2. 常用方法
- 2.1 BeanUtils.copyProperties的用法
- 3. 常用功能組件
- 3.1 過濾器Filter
- 2000. Linux應用
1000. JAVA基礎
1. 泛型
1.1 泛型和Object的區別
泛型和Object的區別 什么時候用泛型 什么時候使用Object
1100. Spring
1. 常用注解
1.1 @ControllerAdvice注解
spring的@ControllerAdvice注解
1.2 緩存@Cacheable
@Cacheable使用詳解
@Cacheable 注解在方法上,表示該方法的返回結果是可以緩存的。也就是說,該方法的返回結果會放在緩存中,以便于以后使用相同的參數調用該方法時,會返回緩存中的值,而不會實際執行該方法。
依賴
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>
配置類
package com.imooc.mall.config;import java.time.Duration;import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory;/*** 描述: 緩存的配置類*/
@Configuration
@EnableCaching
public class CachingConfig {@Beanpublic RedisCacheManager redisCacheManager(RedisConnectionFactory connectionFactory) {RedisCacheWriter redisCacheWriter = RedisCacheWriter.lockingRedisCacheWriter(connectionFactory);RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig();//超時時間30scacheConfiguration = cacheConfiguration.entryTtl(Duration.ofSeconds(30));RedisCacheManager redisCacheManager = new RedisCacheManager(redisCacheWriter, cacheConfiguration);return redisCacheManager;}
}
啟動類需要@EnableCaching描述
package com.imooc.mall;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@SpringBootApplication
@MapperScan(basePackages = "com.imooc.mall.model.dao")
@EnableSwagger2
@EnableCaching
public class MallApplication {public static void main(String[] args) {SpringApplication.run(MallApplication.class, args);}}
應用
import org.springframework.cache.annotation.Cacheable;@Override@Cacheable(value = "listCategoryForCustomer")public List<CategoryVO> listCategoryForCustomer() {ArrayList<CategoryVO> categoryVOList = new ArrayList<>();recursivelyFindCategories(categoryVOList, 0);return categoryVOList;}
2. 常用方法
2.1 BeanUtils.copyProperties的用法
BeanUtils.copyProperties的用法(超詳細,建議收藏)
如果有兩個具有很多相同屬性名的JavaBean對象a和b,想把a中的屬性賦值到b
3. 常用功能組件
3.1 過濾器Filter
Filter(過濾器)簡介
JavaWeb過濾器(Filter)詳解