Springboot第一次

Spring基础
1.1 配置元数据
xml配置,注解配置,java配置都被成为配置元数据。
元数据即描述数据的数据,元数据本身不具备任何可执行的能力,只能通过外界代码来对这些元数据进行解析之后才有意义。
1.2 Bean的Scope

singleton: 在Spring的IoC容器中只存在一个对象实例,所有该对象的引用都共享这个实例。Spring 容器只会创建该bean定义的唯一实例,这个实例会被保存到缓存中,并且对该bean的所有后续请求和引用都将返回该缓存中的对象实例,一般情况下,无状态的bean使用该scope。
prototype:每次对该bean的请求都会创建一个新的实例,一般情况下,有状态的bean使用该scope。
request:每次http请求将会有各自的bean实例,类似于prototype。
session:在一个http session中,一个bean定义对应一个bean实例。
global session:在一个全局的http session中,一个bean定义对应一个bean实例。典型情况下,仅在使用portlet context的时候有效。

说明:spring的默认scope(bean作用域)是singleton。
1.3 Spring EL和资源调用,配置文件注入
注入配置文件需要使用@PropertySource指定文件地址,若使用@Value注入,则要配置一个PropertySourcesPlaceholderConfigurer的bean。
1.4 Spring Bean的初始化和销毁

使用@PostConstruct注解初始化,使用@PreDestroy注解销毁Bean;
实现InitializingBean, DisposableBean这两个接口,并复写afterPropertiesSet()和destroy()方法;
使用init-method和destroy-method配置方法,xml和@Bean的方式都可以用;

1.5 Profile
几种配置方式:

application.properties中设置,eg: spring.profiles.active=dev;
命令行激活,eg:java -jar xxx.jar –spring.profiles.active=test;
基于java的@Profile注解,任何@Component或@Configuration都能被@Profile标记;
编程的方式激活,通过设定Environment的ActiveProfiles;

例如:
@SpringBootApplication
public class Application {

public static void main(String[] args) {
    ConfigurableApplicationContext applicationContext = SpringApplication.run(Application.class, args);
    applicationContext.getEnvironment().setActiveProfiles("dev");
}

}

1.6 Spring事件(Application Event)
spring事件(application event)为Bean与Bean之间的消息通信添加了支持,当一个Bean处理完一个任务之后,希望另一个Bean知道并能做相应的处理,这时我们就需要另外一个Bean监听当前Bean所发送的事件。
spring的事件需要遵循以下流程:
(1)自定义事件:继承ApplicationEvent
(2)定义事件监听器:实现ApplicationListener
(3)使用容器发布事件
1.7 Spring Aware
Spring Aware的目的是为了让Bean获得Spring容器的服务

Aware Class
说明

BeanNameAware
获得到容器中Bean的名称

BeanFactoryAware
获得当前bean Factory,从而调用容器的服务

MessageSourceAware
得到message source从而得到文本信息

ApplicationEventPublisherAware
应用时间发布器,用于发布事件

ResourceLoaderAware
获取资源加载器,可以获得外部资源文件

1.8 多线程

关键注解 @EnableAsync:Configuration中开启多线程

@Async:定义方法为异步方法;
关键接口AsyncConfigurer;
关键类TaskExecutor,ThreadPoolTaskExecutor。

1.9 定时任务

@EnableScheduling:Configuration中开启定时任务

@Scheduled:配置定时任务

1.10 条件注解@Conditional
1.11 组合注解与原注解
1.12 Enable注解的工作原理*

Spring MVC基础
2.1 DispatcherServlet的理释
2.2 Spring Mvc配置

@EnableWebMvc 开启一些默认配置,如ViewResolver或者MessageConverter等。
WebApplicationInitializer,SpringServletContainerInitializer的理解

定制配置:配置类必须继承WebMvcConfigurerAdapter类,并且使用@EnableWebMvc注解标注,重写WebMvcConfigurerAdapter的方法可以达到定制化配置的效果;
Interceptor拦截器

ControllerAdvice:@ControllerAdvice是一个@Component,用于定义@ExceptionHandler,@InitBinder(具体方法执行前始化数据绑定器)和@ModelAttribute方法,适用于所有使用@RequestMapping方法;
配置类中重写addViewControllers简化页面跳转的配置;
配置类中重写configurePathMatch配置处理spring mvc对url不能有.的限制;
文件上传配置:MultipartResolver

HttpMessageConverter:用来处理request和response里的数据,可以用来搞json数据的加解密,*WebMvcConfigurerAdapter里有两个方法可以重写用来注册自定义的HttpMessageConverter,分别是 extendMessageConverters(重载会覆盖Spring MVC默认注册的多个HttpMessageConverter)和 configureMessageConverters(仅添加一个自定义的HttpMessageConverter,不会覆盖默认的HttpMessageConverter);

2.3 服务器端推送技术
1.基于SSE(Server Send Event服务端发送事件)的服务器推送 只有chrome firefox有效,controller方法的produces = “text/event-stream;charset=UTF-8”
2.基于Servlet3.0+的异步方法特性 跨浏览器
2.4 测试 TTD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值