CORS跨域
CORS (Cross-Origin Resource Sharing)是由 W3C 制定的一种跨域资源共享技术标准,其目的 就是为了解决前端的跨域请求。在 Java EE 开发中,最常见的前端跨域请求解决方案是 JSONP,但 是 JSONP 只支持 GET 请求,这是一个很大的缺陷,而 CORS 则支持多种 HTTP 请求方法。
跨域配置。
1:直接在相应的请求方法上加注解
2:全局配置
(ps:毫无卵用,姑且放着,有缘再看)
———————————————————
redis
启动redis服务:
1cd进入redis目录:
redis-server.exe redis.windows.conf
(cmd窗口关闭,意味着服务关闭)
2使用redis:
新开一个cmd窗口,cd进入redis目录,设置客户端:
redis-cli.exe -h 127.0.0.1 -p 6379
auth password
整合springboot
Redis的Java客户端有很多,例如Jedis、JRedis、Spring Data Redis等,Spring Boot借助于Spring Data Redis为Redis提供了开箱即用自动化配置,开发者只需要添加相关依赖并配置Redis连接信息即可,具体整合步骤如下:
1创建springboot项目,引入如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2配置redis
在application.properties中配置redis连接信息
3自定义序列化器(也可以使用已有的)
4set,get操作
开发者工具与单元测试
devtools实现热部署
1引入依赖
2idea设置
3自定义监控资源
默认情况下,/META-INF /maven, /MET A-INF /resources、/resources、/static、/public 以及/temp!ates 位置下资源的变化并不会触发重启,开发者想要对这些位置进行重定义,在application.properties 中添加如下配置即可:
devtools:
restart:
exclude: static/**
(但是最终还是使用了手动启动的方式2333,ctrl+f9启动)
单元测试
1service测试:
直接@autowired
2controller测试
(略,感觉有点麻烦,以后需要的时候再看)
springboot缓存
Ehcache 2.x 缓存
1添加依赖
org.springframework.boot
spring-boot-starter-cache
net.sf.ehcache
ehcache
2添加缓存配置文件ehcahe.xml
3开启缓存
在项目的入口类上添加@EnableCaching 注解开启缓存
4创建实例
@Repository
@CacheConfig(cacheNames = "book_cache")
public class BookDao {
@Cacheable
public Book getBookById(Integer id){
System.out.println("getBookById");
Book book =new Book();
book.setId(id);
book.setName("三国演义");
book.setAuthor("罗贯中");
return book;
}
@CachePut(key = "#book.id")
public Book updateBookById(Book book){
System.out.println("updateBookById");
book.setName("三国演义第二部");
return book;
}
@CacheEvict(key = "#id")
public void deleteBookById(Integer id){
System.out.println("deleteBookById");
}
}
5测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class CacheTest {
@Autowired
BookDao bookDao;
@Test
public void cacheTest(){
bookDao.getBookById(999);
bookDao.getBookById(999);
bookDao.deleteBookById(999);
Book b1 =bookDao.getBookById(999);
System.out.println("b1:"+b1);
Book b2 =new Book();
b2.setName("三国演义");
b2.setAuthor("罗贯中");
b2.setId(999);
bookDao.updateBookById(b2);
Book b3 =bookDao.getBookById(999);
System.out.println("b3:"+b3);
}
}
redis单机缓存
1添加依赖
redis+cache
2配置
直接在application.properties中配置
spring.cache.cache-names=c1,c2
spring.cache.redis.time-to-live=1800s
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=123456
spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.min-idle=8
spring.redis.jedis.pool.max-wait=-1ms
3开启缓存
在项目的入口类上添加@EnableCaching 注解开启缓存