spring
ayupch
记录点滴,分享知识,共同进步!
展开
-
(十二)、@PathVariable
@PathVariable用来接收请求路径中的占位符值。例子如下:@Controller@RequestMapping("/test")public class TestController { /** * 请求路径:http://localhost:8080/test/show/1/james */ @RequestMapping("/show/{id}/{name}") public void test5(@PathVariable("id") lon原创 2020-11-21 00:33:42 · 213 阅读 · 0 评论 -
(十一)、AOP :面向切面编程基础
前面说了很多DI相关的知识,现在我们一起讨论一下AOP。基础定义切点定义使用Pointcut注解,具体详见execution// * 代表任意返回类型, com.pch.test.Test.test代表指定类方法 (..)代表任意参数execution(* com.pch.test.Test.test(..))// 与:&& 或:|| 非:!execution(* com.pch.test.Test.test(..) && with原创 2020-11-19 00:33:03 · 187 阅读 · 0 评论 -
(十)、BeanFactory和ApplicationContext
在前面的 (七)、Bean 中,我们介绍Bean注入时,说了@Autowired注解,使用该注解也是我们推荐使用的获取bean对象的方式,但是,有时我们希望能够自己控制什么时候获取bean对象,这时候BeanFactory就派上用场了。下面我们一起讨论一下BeanFactory,因为BeanFactory是一个接口,那么我们如何获取它的实现对象呢?这里就要说一下ApplicationContext,我们可以通过ApplicationContext获取BeanFactory对象,这样我们就能通过bean对象原创 2020-11-18 23:49:18 · 163 阅读 · 0 评论 -
(九)、@Value
在spring开发的过程,有时需要定义一些配置常量,例如:搜索路径等等。这时@Value注解就有用武之地了。我们可以在Application.properties中添加配置,使用@Value注解获取配置值即可。例如:Application.properties// 上传文件的最大上限upload.file.maxSize="10M"Component类,Test添加引用即可@Configurationpublic class Test { @Value("${upload.file原创 2020-11-17 23:55:48 · 265 阅读 · 4 评论 -
(八)、MultipartFile
在处理上传文件时,经常用到MultipartFile文件。MultipartFile是spring类型,代表html中from-data方式上传的文件,包含二进制数据+文件名称。MultipartFile和File可以互相转换MultipartFile -> File:使用transferTo方法MultipartFile multipartFile = ...File file = new File(****);multipartFile.transferTo(file);File -原创 2020-11-14 14:31:22 · 2779 阅读 · 0 评论 -
(七)、Bean
声明Bean在spring容器中,声明bean有两种方式,一种是@Bean,另一种是@Component注解(包括@Service、@Controller、@Repository、@Configuration)。对于@Bean注解,如果指定了name参数,以参数为准;如果未指定name参数,会以方法名作为bean的名称。对于@Component注解,如果指定了参数,以参数为准;如果未指定参数,会以类名作为bean的名称;如果类名开头是两个或者两个以上大写字母,bean名同类名完全一致;如果开头只有一原创 2020-11-12 00:14:31 · 218 阅读 · 4 评论 -
(六)、@EnableScheduling和@Scheduled
定时任务配置类上添加@EnableScheduling开启定时任务支持,在相应方法里添加@Scheduled声明需要执行的定时任务。@Scheduled注解中有以下几个参数:cron:设置定时执行的表达式,如0 0/5 * * * ? 每隔五分钟执行一次zone:执行时间的时区fixedDelay和fixedDelayString:任务执行结束后间隔n毫秒执行fixedRate和fixedRateString:任务执行开始前间隔n秒执行initialDelay和initialDelayStri原创 2020-11-08 11:46:25 · 484 阅读 · 0 评论 -
(四)、ConversionService
ConversionService类型转化接口可以将一种Object类型转换成另一种Object类型。使用例子:@Beforepublic void before() { conversionService = new DefaultConversionService();}@Testpublic void test() { ConversionService conversionService = new DefaultConversionService(); In原创 2020-11-06 01:40:23 · 739 阅读 · 0 评论 -
(五)、ApplicationListener的使用
ApplicationContext事件机制是观察者模式实现的,通过ApplicationEvent和ApplicationListener,可以实现ApplicationContext事件处理;如果容器中存在ApplicationListener的Bean,当ApplicationContext调用publishEvent时,对应的Bean会触发。springboot支持的事件类型如下:ApplicationFailedEvent:该事件在springboot启动失败是调用Applicati.原创 2020-11-08 00:50:47 · 1926 阅读 · 0 评论 -
(三)、WebMvcConfigurationSupport与WebMvcConfigurer
WebMvcConfigurationSupport与WebMvcConfigurer在spring中配置webMvc有两种方法,一种是继承WebMvcConfigurationSupport,另一种方式就是继承WebMvcConfigurer,但是要多加一个@EnableWebMvc注解。相比来说继承WebMvcConfigurer更安全些,因为里面都是空方法。在实际项目中最常用的就是增加自定义拦截器@Configuration@EnableWebMvcpublic class WebConfi原创 2020-11-06 01:20:31 · 2203 阅读 · 0 评论 -
(二)、@Import注解
@Import注解@Import注解通过快速导入的方式把实例加入到spring的IOC容器中。最常用来导入第三方jar包。@Import的常见用法直接引用class类(包含@Component注解修饰的类,例如@Configuration注解修饰类),容器会自动注册这个组件,id默认是类全名@Import({类名.class, 类名.class})public class Test {}ImportSelector的方式,返回需要导入组件的全名类数组。它的前提就是一个类要实现Impo原创 2020-11-05 00:12:12 · 138 阅读 · 0 评论 -
(一)、@RequestParam和@RequestBody注解
大家都知道SpringMVC已经默认集成了Jackson,下面我们先介绍一下Jackson的基础知识。Jackson将javabean属性序列化成Json,主要依赖get方法。即按get*方法来判断json的key原创 2020-11-04 23:36:05 · 223 阅读 · 0 评论