spring注解
spring
诗水人间
要想走的更远,就需要思考更深层次的问题。冷静、智慧、深沉是我所向往的
展开
-
@RequestParam,@PathParam,@PathVariable等注解区别
@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充@RequestParam看下面一段代码:http://localhost:8080/springmvc/hello/101?param1...转载 2020-04-16 06:09:00 · 131988 阅读 · 0 评论 -
自定义注解+反射 实现给注解添加功能的效果
注解我们经常会用到,或者在jdk源码中也会看到,例如: @Deprecated以及我们在spring或者springboot中经常用到@Controller、@Service、@Repository、@Entity等注解。是否思考过他们是怎么工作的?下面我们使用 自定义注解 + 反射给注解加上功能先贴出整体效果图:源码:java8环境一、定义注解jdk提供了自定义注解的工具类,在 java.lang.annotation包下先看下自定义注解的模板:(模板后面有解释)import java原创 2020-12-01 02:51:16 · 26193 阅读 · 0 评论 -
@ConfigurationProperties与@Value区别
@ConfigurationProperties@Value功能批量注入配置文件中的属性需要一个一个指定松散绑定(松散语法,lastName/last-name/last_name)支持不支持、会报错SPEL表达式不支持支持JSR303数据校验支持不支持复杂类型封装支持不支持总结只是简单的从配置文件中获取一个值,直接使用@Value就行如果需要批量注入就使用@ConfigurationProperties...原创 2020-06-02 00:24:25 · 138555 阅读 · 0 评论 -
@RequestBody接收前端的json数据-后台使用fastjson转换
从仓库中获取fastjson的maven依赖<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</art...原创 2020-04-26 17:12:14 · 141166 阅读 · 0 评论 -
使用@RequestMapping+@Pathvariable获取url中携带的参数
以下面的代码为例import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import top.huas...原创 2020-04-16 04:30:51 · 133128 阅读 · 0 评论 -
什么是AOP,AOP的作用是什么?常见AOP功能
AOP全称(Aspect Oriented Programming)面向切片编程的简称AOP的定义:AOP通过预编译方式和运行期动态代理实现,在不修改源代码的情况下,给程序动态统一添加功能的一种技术,简称AOP。是spring框架的一个重要内容,是OOP(面向对象编程)的衍生模范型。AOP的作用:利用AOP对业务逻辑的各个部分进行隔离,降低业务逻辑的耦合性,提高程序的可重用型...原创 2020-02-18 19:50:42 · 154166 阅读 · 1 评论 -
012---@Autowired、@Resource、@Inject 自动装配原理和各自的区别
@Autowired是spring特有的@Resource是JSR250规范(java规范支持的)支持自动装配,但是不支持@Primary和required=false参数@Inject是JSR330规范 支持@Primary注解,但是不支持required=false...原创 2020-02-12 00:14:48 · 114464 阅读 · 0 评论 -
011---@Autowired注解以及 @Qualifier 注解
@Autowired注解的作用是将spring IOC容器中的bean自动装配,例如controller 用到service,service用到了dao,这些类都在IOC容器中已经有了;controller示例代码package top.huashengshu.controller;import org.springframework.beans.factory.annotation.A...原创 2020-02-11 21:26:04 · 129267 阅读 · 0 评论 -
010---@PropertySource注解与@ImportResource注解
读取properties配置文件的配置,装载到springbean中注意,如果没有指定编码很可能@Value注入属性时 会导致中文乱码,解决方式是指定编码,和properties文件的编码要一致,如下encoding="utf8"package top.huashengshu.config;import org.springframework.context.annotation.B...原创 2020-02-11 21:17:09 · 147408 阅读 · 0 评论 -
009---@Value注解
实体类,如下@Value注解的使用,支持spel表达式package top.huashengshu.bean;import org.springframework.beans.factory.annotation.Value;public class HelloWorld { @Value("张三") private String name; @Value...原创 2020-02-11 20:58:59 · 125549 阅读 · 0 评论 -
008---组件的 生命周期、InitializingBean, DisposableBean接口、JSR-250规范、BeanPostProcessor接口
spring中的bean生命周期:构造 =>初始化前 => 初始化 =>初始化后 =>销毁方式一:普通的java类,自定义初始化方法和销毁方法@Bean 可以指定初始化和销毁 回调方法,如下示例普通的java类:package bean;public class HelloWorld { String hello="Hello d...原创 2020-02-05 01:15:28 · 128443 阅读 · 0 评论 -
007---实现FactoryBean接口注册组件(方式四)
第一步、实现FactoryBean接口示例代码:传入泛型<>包裹的,即HelloWorld的工厂beanpackage config;import bean.HelloWorld;import org.springframework.beans.factory.FactoryBean;public class DemoFactoryBean implements F...原创 2020-02-02 00:53:22 · 141186 阅读 · 0 评论 -
006---@Import注解 直接导入组件、使用ImportSelector接口 和 使用 ImportBeanDefinitionRegistrar接口 的三种@Import方式(方式三)
导入组件的方法有方式一:自己编写的类 加入了@Controller、@Service、@Repository、@Component注解的类方式二:通过@Bean注解导入第三方类方式三:通过@Import直接导入第三方类(默认在Ioc容器内的名称就是全类名(包名+类名))示例:@Import的使用方式一组件:下面的构造方法我加入了一条输出语句package bean;...原创 2020-02-01 22:59:00 · 126822 阅读 · 0 评论 -
005---@Conditional条件判断注解
@Conditional注解的作用是条件判断注解,特点是可以给方法注解,也可以给整个类注解,表示满足条件才可以执行使用示例:下面的代码是其中一个案例: 编写条件类DemoCondition注释部分是条件判断的示例,判断操作系统是否为Linuxpackage config;import org.springframework.beans.factory.config.Confi...原创 2020-02-01 22:38:02 · 117180 阅读 · 0 评论 -
004---@Lazy注解(限定单例singleton)
单实例bean默认情况下会在ioc容器创建的时候就会创建bean对象前文传送:https://blog.csdn.net/qq_41813208/article/details/104129001 有解释顾名思义该注解的作用就是懒加载的意思,在容器创建完后不会创建bean,只有在第一次获取bean 的时候创建bean后面获取的时候不会再创建bean...原创 2020-01-31 22:53:48 · 157064 阅读 · 0 评论 -
003---@Scope注解 设置作用域(范围)
默认情况下是单例模式(singleton),单例模式特点是ioc容器创建完成就会将bean加入ioc容器中 如果通过@Scope改成多实例模式(prototype)特点是在ioc容器创建后不会直接创建bean加入到ioc容器,而是在调用获取bean的时候创建bean加入ioc容器单例模式证明:bean类package bean;public class HelloWorl...原创 2020-01-31 22:40:04 · 131785 阅读 · 0 评论 -
002--@ComponentScan、@Filter注解(方式二)
一般情况下,通过ComponentScan注解来配置要扫描的包,默认情况下会自动被扫描进IOC容器的是@Controller、@Service、@Repository、@Component注解的配置类使用@ComponentScan的示例,其中的value就是指明要扫描的包名package config;import bean.HelloWorld;import org.sprin...原创 2020-01-31 21:53:45 · 119653 阅读 · 0 评论 -
001--@Configuration和@Bean 注解(方式一)
环境Idea + maven,相关依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.sp...原创 2020-01-30 00:35:24 · 139801 阅读 · 7 评论