SpringMVC
Spring框架
fhxyryxc
这个作者很懒,什么都没留下…
展开
-
HttpClient
配置 connectionRequestTimeout :从连接池中获取可用连接的时间 connectTimeout :连接超时时间,客户端请求服务器与服务器建立连接(三次握手)成功的最大接受时间 socketTimeout :请求获取数据的超时时间,访问一个接口指定时间内无法返回数据,直接放弃此次调用 MaxtTotal是整个池子的大小 DefaultMaxPerRoute是根据连接到的主机对MaxTotal的一个细分,默认是2 //http client的重试次数,默认是3次 setHttpReques原创 2020-12-18 09:42:17 · 182 阅读 · 0 评论 -
Spring注解
全局注解 //配置类 @Configuration @Value enable注解 @EnableCaching @EnableTransactionManagement @EnableAsync Bean注解 //@PostConstruct在服务器加载Servlet的时候运行,并且只会被服务器执行一次。 @PostConstruct //@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前 @PreDestroy //配置 spring bean转载 2020-12-17 10:30:57 · 48 阅读 · 0 评论 -
@Validated和@Valid
@Validated 用在方法入参上。 不能用在成员属性(字段)上,无法进行嵌套验证。 能配合嵌套验证注解@Valid进行嵌套验证。 @Valid 用在方法入参上。 能够用在成员属性(字段)上,进行嵌套验证。 能配合嵌套验证注解@Valid进行嵌套验证。 ...转载 2020-12-10 18:01:15 · 56 阅读 · 0 评论 -
跨域资源共享:Cross-origin Resource Sharing
浏览器同源策略 协议 域名 端口 CORS CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 服务器端拦截器CorsFilter ,设置:Access-Control-Allow-Origin 简单请求 HEAD、GET、POST HTTP的头信息不超出以下几种字段:Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type 当浏览器发现发现的ajax请求是简单请求时,会在请求头中携带转载 2020-06-09 22:16:23 · 387 阅读 · 0 评论 -
Session / Cookie
HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录。 Session 不支持跨域 客户端请求服务端,服务端会为这次请求开辟一块内存空间,这个对象便是 Session 对象,存储结构为 ConcurrentHashMap。 A 服务器存储了 Session,做了负载均衡后,假如一段时间内 A 的访问量激增,会转发到 B 进行访问,但是 B 服务器并没有存储 A 的 Session,会导致 Session 的失效。 Cookie 一个站点转载 2020-06-09 21:59:07 · 72 阅读 · 0 评论 -
SpringMVC请求处理流程
DispatchServlet 全局的流程控制 DispatchServlet接收到请求 顺序遍历Spring容器中的HandlerMapping对象(可以注册多个HandlerMapping处理器映射器对象) 根据每个HandlerMapping对象的映射规则找到对应的处理器Controller和处理方法 遍历spring容器中的所有HandlerAdapter对象,查看当前处理器适配器对象是否能够支持适配找到的处理器对象Controller,能则调用适配器的接口handle()方法处理请求,处理前有.转载 2020-06-09 20:22:16 · 323 阅读 · 0 评论 -
advice的执行顺序
同一apsect中不同advice的执行顺序 around before advice before advice target method 执行 around after advice after advice afterReturning / afterThrowing 不同aspect中不同advice的执行顺序转载 2020-06-09 16:17:01 · 160 阅读 · 0 评论 -
autowire属性
Autowire Resource byType byName @Autowire(required=false) @Qualifier(“beanName”) @Resource(name=“userDao”) Spring注解 JDK注解 字段、setter方法、构造器 字段、setter方法 ByName 通过属性的名字的方式查找JavaBean依赖的对象 使用Setter()为其注入 ByType 通过属性的类型查找JavaBean依赖的对象 使用Setter(...转载 2020-06-09 16:05:21 · 345 阅读 · 0 评论 -
Bean实例作用域
singleton(单例模式) Spring IoC容器中只会存在一个共享的bean实例。 在创建起容器时就同时自动创建了一个bean的对象,不管你是否使用,他都存在了,每次获取到的对象都是同一个对象。 prototype(原型模式) 每次对该bean请求(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)时都会创建一个新的bean实例。 在我们创建容器的时候并没有实例化,而是当我们获取bean的时候才会去创建一个对象,而且我们每次获取到的对象都不是同一个对象。 request(转载 2020-06-09 15:51:46 · 101 阅读 · 0 评论 -
Spring Bean生命周期
实例化 Instantiation 实例化前后 public interface InstantiationAwareBeanPostProcessor extends BeanPostProcessor { // 实例化前调用 @Nullable default Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) throws BeansException { return null;转载 2020-06-09 15:05:01 · 74 阅读 · 0 评论 -
定时任务:Quartz
Quartz是支持数据持久化的,可以将定时调度信息持久化到数据库。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> public class QuartzJob1 extends QuartzJobBean { @Overrid转载 2020-06-07 23:26:50 · 63 阅读 · 0 评论 -
定时任务:Spring Task
Spring3.0以后自主开发的定时任务工具 cron表达式 Seconds ,- * / 0-59 Minutes ,- * / 0-59 Hours ,- * / 0-23 DayofMonth , - * / ? L W C 0-31 Month ,- * / 1-12 DayofWeek , - * / ? L C # 1-7 1表示星期天,2表示星期一 Year - * / 1970-2099 注意两个特殊的域DayofMonth Dayof转载 2020-06-07 23:17:43 · 82 阅读 · 0 评论 -
定时任务:ScheduledExecutorService
int corePoolSize = 2; int maximumPoolSize = 5; int keepAliveTime = 100; TimeUnit unit = TimeUnit.SECONDS; BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<Runnable>(1000); ThreadFactory threadFactory = Executors.defaultThreadFactory()转载 2020-06-07 22:43:37 · 107 阅读 · 0 评论 -
定时任务:Timer
java.util.Timer schedule会保证任务的间隔是按照定义的period参数严格执行的,如果某一次调度时间比较长,那么后面的时间会顺延,保证调度间隔都是period scheduleAtFixedRate是严格按照调度时间来的,如果某次调度时间太长了,那么会通过缩短间隔的方式保证下一次调度在预定时间执行 public void schedule(TimerTask task, long delay, long period) ; public void schedule(TimerTask转载 2020-06-07 22:06:15 · 119 阅读 · 0 评论 -
单例模式(2)
Spring中的Bean 实例化(执行构造函数)—>填充属性—>初始化 Spring依赖注入Bean实例默认是单例的 org.springframework.beans.factory.support.AbstractBeanFactory protected <T> T doGetBean(final String name, @Nullable final Class<T> requiredType, @Nullable final Object[] args, b转载 2020-06-05 19:05:11 · 76 阅读 · 0 评论