spring/sprongboot
文章平均质量分 84
wang_nian
不以物喜 不以己悲 生于忧患 死于安乐
展开
-
spriongboot常用注解
1、@SpringBootApplication这个注解是Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。实际上这个注解是@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解的组合。由于这些注解一般都是一起使用,所以Spring Boot提供了一个统一的注解@SpringBootApplication。2、@EnableAuto原创 2021-01-06 17:15:16 · 427 阅读 · 0 评论 -
springboot Methodinterceptor原理
MethodInterceptor是AOP项目中的拦截器(注:不是动态代理拦截器),区别与HandlerInterceptor拦截目标时请求,它拦截的目标是方法。实现MethodInterceptor拦截器大致也分为两种:(1)MethodInterceptor接口;(2)利用AspectJ的注解配置;MethodInterceptor接口:import org.aopalliance.intercept.MethodInterceptor;import org.aopallianc转载 2021-01-06 16:01:25 · 2755 阅读 · 2 评论 -
自定义容器初始化器的三种方式,实现ApplicationContextInitializer接口
ApplicationContextInitializer的实现类用于spring在刷新容器之前,加载完上下文之后的一个回调函数,并且会将ConfigurableApplicationContext实例传递过来,让我们开发者可以根据一些上下文做一些定制化的操作。该实现类可以通过注解**@Order**指定执行顺序,值越小,优先级越高。首先我们先实现ApplicationContextInitializer接口package com.osy.initializer;import org.spri转载 2020-12-28 14:45:28 · 155 阅读 · 0 评论 -
spring注解原理
1、四大元注解1.1、@Target:元素种类,指示注解类型所适用的程序元素的种类。由 ElementType 限定。 ElementType.TYPE:注解到接口、类、枚举、注解上 ElementType.FIELD:注解到属性字段、枚举的常量上 ElementType.METHOD:注解到方法上 ElementType.PARAMETER:注解到方法参数上 ElementType.CONSTRUCTOR:注解到构造方法上 ElementType.LOCAL_VARIA.原创 2020-11-25 16:51:02 · 262 阅读 · 0 评论 -
Mybaties
#{}与${}的区别可以简单总结如下:#{}将传入的参数当成一个字符串,会给传入的参数加一个双引号 ${}将传入的参数直接显示生成在sql中,不会添加引号 #{}能够很大程度上防止sql注入,${}无法防止sql注入...原创 2020-11-17 15:03:51 · 145 阅读 · 0 评论 -
spring中用到的设计模式
JDK 中用到了那些设计模式?Spring 中用到了那些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何错误各位都可以指出。另外,文章篇幅有限,对于设计模式以及一些源码的解读我只是一笔带过,这篇文章的主要目的是回顾一下 Spring 中的常见的设计模式。Design Patterns(设计模式) 表示面向对象软件开发中最好的计算机编程实践。 Sprin原创 2020-10-19 10:46:03 · 453 阅读 · 0 评论 -
spring基础知识及面试
什么是 Spring 框架?Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:spring.io/。我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。比如:Core Container 中的 Core 组件是Spring 所有组件的核心,Beans 组件和 Context原创 2020-10-18 22:04:31 · 121 阅读 · 2 评论 -
spring中bean生命周期
Bean 容器找到配置文件中 Spring Bean 的定义。 Bean 容器利用 Java Reflection API 创建一个Bean的实例。 如果涉及到一些属性值 利用 set()方法设置一些属性值。 如果 Bean 实现了 BeanNameAware 接口,调用 setBeanName()方法,传入Bean的名字。 如果 Bean 实现了 BeanClassLoaderAware 接口,调用 setBeanClassLoader()方法,传入 ClassLoader对象的实例。 如果Be原创 2020-10-18 21:52:11 · 216 阅读 · 0 评论 -
spring IOC详解(依赖倒置原则)
要了解控制反转( Inversion of Control ), 我觉得有必要先了解软件设计的一个重要思想:依赖倒置原则(Dependency Inversion Principle )。什么是依赖倒置原则?假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,底盘依赖轮子。这样的设计看起来没问题,但是可维护性却很低。假设设计完工之后,上司却突然说根据市场需求的变动,要我们把..原创 2020-10-18 21:12:00 · 2119 阅读 · 2 评论 -
Spring的Controller是单例还是多例?怎么保证并发的安全
答案:controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。我们下面来简单的验证下:packagecom.riemann.springbootdemo.controller;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Controller;importorg.springframewo...转载 2020-08-24 11:10:27 · 113 阅读 · 0 评论 -
Spring中的InitializingBean与DisposableBean
InitializingBean顾名思义,应该是初始化Bean相关的接口。先看一下该接口都定义了哪些方法:public interface InitializingBean { void afterPropertiesSet() throws Exception;}看方法名,应该是在读完Properties文件,之后执行的方法,不是很了解,先写个bean测试一下。首先声明一个Beanpackage com.github.jettyrun.springinterfa..转载 2020-08-13 18:43:19 · 162 阅读 · 0 评论