spring注解,springmvc注解,springboot注解,springcloud注解大全

Spring注解

import org.springframework.beans.factory.annotation.*;

 

@Autowired

@Quailfier

@Required

@Value

@Aotowired 和 @Qualifire

该注解支持set方式注入和构造器方式注入.

当采用set方式注入时,可以将@Autowired添加到set方法前面,如果不使用@qualifier,则容器会使用byType的方式来注入,有可能出错,所以建议使用@Qualifier注解,明确指定要注入的bean的id.

也可以将这两个注解直接添加到属性前.set方法就可以不用写了因为使用的是类反射技术.

当采用构造器注入时,可以将该注解添加到对应的构造器前面即可.

@Value注解

可以使用该注解来注入基本类型的值.放到属性前,不需要set方法.

 也可以使用该注解来使用spring表达式

 该注解可以添加到属性前,或添加到对应的set方法前

import org.springframework.context.annotation.*;

@Bean

@ComponentScan

@Configuration

@Import

@Lazy

@PropertySources

@Scope

@Scope用来指定单例多例的,默认是单例的,多例是prototype

@PropertySource(value={"classpath:kxj.properties","",""})这个注解是读取自定义配置文件,可以配置多个.

相关文章https://blog.csdn.net/kxj19980524/article/details/85120608

@Configuration表示配置类,配合@Bean使用,下面的意思就是把Date放入spring容器,bean的id就是方法名,getDate,通过它来获取

相关文章https://blog.csdn.net/kxj19980524/article/details/85156778

import org.springframework.stereotype.*;

@Controller

@Service

@Repository

@Component

@Component @Controller @Service @Repository

Spring在启动的时候会扫描指定包下的注解,只要在类上加上这四个其中一个,就相当于在配置文件当中,配置了一个bean元素,其实它们四个效果是一样的,只不过规范的话,还是用到适当的地方,如果注解后面啥都不写的话,id默认是类的首字母小写.

import org.springframework.transaction.annotation.Transactional;

@Transactional注解,加到类上面表示该类下面的所有方法都被事务控制,加到单独的方法上的话,只有这个方法被事务控制了

相关文章https://blog.csdn.net/kxj19980524/article/details/85247610

 

import org.springframework.scheduling.annotation.*;

@EnableScheduling开启Schedule定时器

@Scheduled定时器表达式注解

定时器文章https://blog.csdn.net/kxj19980524/article/details/86287476

@EnableAsync开启异步调用

@Async异步的方法

Springboot使用异步调用@Asynchttps://blog.csdn.net/kxj19980524/article/details/86750327

 

 

SpringMVC注解  这个准确的说应该也是属于spring的注解,SpringMVC其实没有注解.下面这块是属于SpringWeb模块的注解.

spring-web 提供了核心 HTTP 集成,包括一些便捷的 servlet 过滤器, Spring HTTP 调用,用于集成其它 web 框架的基础结构以及技术(Hessian,Burlap)。

spring-webmvc 是 Spring MVC 的一个实现。spriing-webmvc 依赖于 spring-web,这样包含它就会间接地添加 spring-web。不必显示添加 spring-web。

如果你不使用 Spring MVC ,但想要借助其它 Spring 支持的 web 相关技术的优势,那么你只需依赖 spring-web 。

import org.springframework.web.bind.annotation.*

@RestController这个注解是@ResponseBody和Controller的组合

@RequestParam注解

将该注解添加到方法的形参前面,不加注解的话只要把名字跟参数名写一致就能获取到,但有时候会获取不到值,只能读到参数的类型,eclipse在打包编译时在反射文件夹里特意加上了形参的名字,但是在企业开发不会加,因为加上虚拟机就跑的慢了,所有要加上注解.

@GetMapping,就相当于@RequestMapping(value = "/test1",method = RequestMethod.GET)查询的请求用这个注解

这是源码

@PostMapping就相当于@RequestMapping(value = "/test1",method = RequestMethod.POST),添加的时候使用这个注解

@DelectMapping删除时使用,@PutMapping修改时使用

@ControllerAdvice注解将作用在所有注解了@RequestMapping的控制器的方法上
@ExceptionHandler:用于全局处理控制器里的异常

一般用来处理统一异常处理,如下图,当加有@RequestMapping这类注解的方法抛出异常后,这个异常类会拦截并做出处理

SpringBoot注解

import org.springframework.boot.autoconfigure.*;

@SpringBootApplication启动注解,它是一个组合注解下面这三个是它里面的注解

@SpringBootConfiguration:当前类是一个配置类,就像xml配置文件,而现在是用java配置文件,效果是一样的
@EnableAutoConfiguration:这就是spring boot的核心功能,自动配置。就是根据当前引入的JAR包进行自动配置,比如:引入了spring boot的web模块,就会自动配置web.xml等与web项目相关的内容,所以这些配置都不需要我们自己配了
@ComponentScan:用注解配置实现自动扫描,默认会扫描当前包和所有子包,和xml配置自动扫描效果一样,这个是spring的注解.

这几个注解相关文章https://blog.csdn.net/kxj19980524/article/details/85156917

@RunWith(SpringRunner.class)   @SpringBootTest 这俩是测试类上的注解

import org.springframework.boot.context.properties.*;

@ConfigurationProperties(prefix = "myClass")这个是读取springboot配置文件信息

这几个注解相关文章https://blog.csdn.net/kxj19980524/article/details/85120608

 

@EnableConfigurationProperties(value = { DBConfig1.class, DBConfig2.class })这个注解用来优先加载配置类的

详细文章https://blog.csdn.net/kxj19980524/article/details/86756251

 

 

SpringCloud注解

@EnableEurekaServer开启eureka服务

详细文章https://blog.csdn.net/kxj19980524/article/details/86775500

@EnableEurekaClient表示发布一个服务

@EnableDiscoveryClient也表示发布一个服务

它俩的区别是@EnableEurekaClient只适用于Eureka作为注册中心,@EnableDiscoveryClient 可以是其他注册中心。

服务提供者https://blog.csdn.net/kxj19980524/article/details/86775875

@LoadBalanced开启ribbon负载均衡器

详细信息https://blog.csdn.net/kxj19980524/article/details/86775978

@EnableDiscoveryClient向注册中心上注册服务号

详细信息https://blog.csdn.net/kxj19980524/article/details/86840312

@EnableFeignClients//开启feign权限  @FeignClient(name = "app-buba-member")

详细信息https://blog.csdn.net/kxj19980524/article/details/86985898

@EnableHystrix开启Hystrix@HystrixCommand(fallbackMethod = "orderToUserInfoFallback")

详细信息https://blog.csdn.net/kxj19980524/article/details/87009660

@EnableConfigServer开启config-server   @RefreshScope刷新注解

详细信息https://blog.csdn.net/kxj19980524/article/details/87557189

//开启注册网关@EnableZuulProxy

详细信息https://blog.csdn.net/kxj19980524/article/details/87802023

 

这个属于mybatis与spring整合的注解

import org.mybatis.spring.annotation.*;

@MapperScan(basePackages = {"com.buba.mapper"})扫描mapper层接口,放到启动类上,参数填接口包名

详细文章https://blog.csdn.net/kxj19980524/article/details/85232335 

 

java注解

import javax.annotation.*;

@PostConstruct

@PreDestroy

@Resource

  • 13
    点赞
  • 90
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值