spring的一些注解

@Autowired和@Resource的区别
用途:做bean的注入时使用
历史:@Autowired 属于Spring的注解            
   @Resource   不属于Spring的注解,JDK1.6支持的注解   
共同点:
  装配bean. 写在字段上,或写在setter方法
不同点:
  @Autowired 默认按类型装配 ,依赖对象必须存在,如果要允许null值,可以设置它的required属性为false 。 @Autowired(required=false) 也可以使用名称装配,配合@Qualifier注解
 @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略

总结:
@Autowired自动注解,举个例子吧,一个类,俩个实现类,Autowired就不知道注入哪一个实现类,而Resource有name属性,可以区分。

@Service:
当咱们需要定义某个类为一个 bean 的时候,就可以在这个类的类名上一行加一个 @Service 注解

@Bean
在配置类上打个一个 @Configuration 注解,表示声明该类为 Spring 的配置类。在创建一个方法,方法返回对象即我们要创建的对象 Person , 返回该对象的实例。在方法上打上注解 @Bean即表示声明该方法返回的实例是受 Spring 管理的 Bean。

@Override
在java中如果方法上加@Override的注解的话,表示子类重写了父类的方法。当然也可以不写,写的好处是:

  1. 可读性提高
  2. 编译器会校验写的方法在父类中是否存在

@RequestMapping 和 @GetMapping @PostMapping
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

ps : RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

@Sl4j
类上面添加@Sl4j注解,然后使用log打印日志

@Setter @Getter :
可以为相应的属性自动生成Getter/Setter方法

@ComponetScan 加载与xxapplication文件同级目录的文件夹下的文件
被@SpringBootApplication包含

@EnableCaching 开启缓存

@SpringBootApplication 应用开启入口

@springCloudApplication 应用开启入口 比@SpringBootApplication更强大

@EnableEurekaClient开启eureka客户端 可以调用在eureka注册的服务
@EnableDiscoveryClient 不仅可以开启eureka客户端,还有consul、zookeeper

@EnableEurekaServer 开启eureka服务端 类似于注册中心zookeeper

@EnableFeignClients 开启负载均衡 包装了Ribbon

@EnableHystrix 开启容错保护

@EnableZuulProxy 开启网关代理

@EnableScheduling 开启对定时任务的支持

Java 项目启动时执行方法时使用:
@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。

@EnableTransactionManagement 启动类开启事务,异常捕获在Controller去做,这样在Service层中 @Transactional在发生异常时可以正常进行回滚操作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值