- 浏览: 10243082 次
- 性别:
- 来自: 深圳
博客专栏
-
Oracle基础
浏览量:463061
-
springMVC介绍
浏览量:1776381
-
Mybatis简介
浏览量:1399144
-
Spring整合JMS
浏览量:395241
-
Ehcache简介
浏览量:680290
-
Cas简介
浏览量:531345
-
Spring Securi...
浏览量:1185780
-
Spring基础知识
浏览量:469459
-
Spring Aop介绍
浏览量:151590
-
JAXB简介
浏览量:68468
最新评论
-
18335864773:
推荐用pageoffice 生成 word。POI处理Offi ...
POI生成Web版Word文件 -
234390216:
skran 写道大兄弟文章写的不错,排版有点问题,代码长了既没 ...
Spring Boot(05)——SpringApplication介绍 -
skran:
大兄弟文章写的不错,排版有点问题,代码长了既没换行也没滚动条
Spring Boot(05)——SpringApplication介绍 -
Caelebs:
Ehcache(04)——设置缓存的大小 -
234390216:
thaIm 写道不知道RestTemplate 默认的链接数、 ...
Spring(30)——RestTemplate介绍
文章列表
SpringApplication介绍
通常启动Spring Boot应用时调用SpringApplication类的static run()进行启动。
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}
其内部最终会转换为new一个SpringApplication对象,然后调用 ...
创建自己的自动配置
当你的应用需要以jar包的形式提供给其它应用使用时,可以考虑把它们封装为一个Spring Boot Starter。即该jar包是可以自动添加需要引用的依赖项,也能够对核心功能进行自动配置。自动配置的核心类是一个标注了@Configuration的类,然后在自动配置类中可以定义相应的bean。比如下面的配置类中定义了一个HelloBean类型的bean。
@Configuration
public class HelloAutoConfiguration {
@Bean
public HelloBean helloBean() {
...
Spring Boot 自动配置
Spring Boot的自动配置功能会根据Classpath中的Class为我们自动创建相应的bean。比如当classpath下存在MongoClient.class和MongoTemplate.class时就会进行Spring Data MongoDB的配置。这是通过MongoDataAutoConfiguration类配置的。下面是MongoDataAutoConfiguration类的定义,可以看到上面使用了@Configuration注解定义,且通过@ConditionalOnClass注解指定了只有在存在MongoClient.class和Mon ...
Spring Boot Maven插件
Spring Boot提供了一个Maven插件,在指定了spring-boot-starter-parent为项目的parent后,在项目中可以进行如下定义来配置Spring Boot的Maven插件。该plugin主要提供了两个goal,run和repackage,run用来运行当前Spring Boot工程,repackage则用来将项目重新打包。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId> ...
Spring Boot初体验
Spring Boot的理念是抛弃XML配置(当然,如果你想采用XML配置也是可以的,但是Spring Boot推荐使用基于Java的配置),采用纯Java配置和properties或yml文件配置,通过提供一系列的Starter可以使开发者快速的搭建起一套开发环境。Starter将某一工具相关的依赖整合到了一起,通过依赖一个Starter会间接的依赖该Starter相关的所有依赖。使用的Starter在启用了自动配置时是可以自识别的,即只要把它们加入到Classpath中,在程序启动的时候可以进行自动的识别和启动。比如想使用Spring Data MongoD ...
ImportBeanDefinitionRegistrar介绍
在上一篇博文http://elim.iteye.com/blog/2428994中介绍了ImportSelector的作用及其用法。本文需要介绍的ImportBeanDefinitionRegistrar的用法和作用跟ImportSelector类似。唯一的不同点是ImportBeanDefinitionRegistrar的接口方法void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry regi ...
ImportSelector介绍
在@Configuration标注的Class上可以使用@Import引入其它的配置类,其实它还可以引入org.springframework.context.annotation.ImportSelector实现类。ImportSelector接口只定义了一个selectImports(),用于指定需要注册为bean的Class名称。当在@Configuration标注的Class上使用@Import引入了一个ImportSelector实现类后,会把实现类中返回的Class名称都定义为bean。来看一个简单的示例,假设现在有一个接口HelloServic ...
WebClient是从Spring WebFlux 5.0版本开始提供的一个非阻塞的基于响应式编程的进行Http请求的客户端工具。它的响应式编程的基于Reactor的。WebClient中提供了标准Http请求方式对应的get、post、put、delete等方法,可以用来发起相应的请求。下面的代码是一个简单的WebClient请求示例。可以通过WebClient.create()创建一个WebClient的实例,之后可以通过get()、post()等选择调用方式,uri()指定需要请求的路径,retrieve()用来发起请求并获得响应,bodyToMono(String.class) ...
Spring之RestTemplate介绍
RestTemplate是Spring Web模块提供的一个基于Rest规范提供Http请求的工具。应用中如果需要访问第三方提供的Rest接口,使用RestTemplate操作将非常方便。RestTemplate中提供了一系列的getXXX、postXXX、putXXX、deleteXXX等方法,以供发起对应的Rest规范请求,以及更通用的exchange和execute系列方法。方法详情可以参考对应的API文档或源码。
发起GET请求
通过getForObject可以发起GET请求,下面的代码中就展示了通过getForObject发起GET ...
假设有一个QuartzTasks类,其有一个print方法,现需要在Spring中使用Quartz对其进行定时调度。我们先配置一个JobDetail,采用Spring提供的MethodInvokingJobDetailFactoryBean,其可以指定需要调度的对象及其方法名称。配置如下:
<bean id="quartzTasks" class="com.elim.learn.spring.task.QuartzTasks"/>
<bean
id="quartzTasksJobDetail" ...
SpringMVC配置以Java类配置
如果在使用SpringMVC时不希望采用XML的配置方式,而采用基于Java类的配置也是可以的。如果还希望在web.xml中配置DispatcherServlet,则需要通过init-param指定contextClass为AnnotationConfigWebApplicationContext,然后把context ConfigLocation指定为SpringMVC配置Java类的全路径名称。
<servlet>
<servlet-name>spring</servlet-name>
...
通过ServletContainerInitializer注册Servlet对象
Servlet3通过SPI的机制允许我们自定义一个ServletContainerInitializer的实现类,Servlet容器会在启动的时候自动调用实现类的onStartup方法,我们可以在该方法中进行一些Servlet对象的注册。ServletContainerInitializer接口的定义如下:
public interface ServletContainerInitializer {
public void onStartup(Set<Class<?>> ...
SpringMVC对Servlet3异步请求的支持
SpringMVC对Servlet3异步请求的支持有两种方式,分别是通过处理器方法返回Callable和DeferredResult。按照Servlet3的规范,支持异步请求时需要配置对应的Servlet和Filter支持异步请求,为了使SpringMVC支持异步请求的处理,需要在定义DispatcherServlet时配置其支持异步请求,在DispatcherServlet之前定义的Filter也需要配置支持异步请求。
<servlet>
<servlet-name>springmvc</se ...
直接指定路径对应的视图名称
在使用SpringMVC开发Web应用时会存在一些没有业务逻辑,只需要直接展示对应的页面的请求。对于这些请求我们可以不定义Controller处理方法,直接建立请求路径和视图的对应关系。在使用基于XML的SpringMVC配置时可以通过mvc namespace提供的view-controller来指定请求路径和视图的对应关系。下面的代码中就指定了当请求路径是/时将直接响应名为index的视图。如果有需要还可以通过status-code属性指定需要响应的Http状态码。
指定静态资源路径
当SpringMVC的DispatcherServlet配置的映射路径是/时,所有的请求都将被SpringMVC拦截,如果我们想访问某个路径下的静态资源其实是不能直接访问的。基于这种情况,SpringMVC提供了<mvc:resources/>配置来告诉SpringMVC,哪些请求是针对静态资源的。它需要指定两个参数,location用来指定静态资源对应的实际路径,可以通过classpath:META-INF/static/这种方式指定类路径下的资源,如果有多个路径,可以通过英文逗号分隔。mapping用来指定哪些请求会被认为是在请求静态资源。下面的配置就指定了 ...