欢迎光临
我们一直在努力

男女称骨算命注解大全,什么叫注解

spring注解:

@SpringBootApplication修饰main函数所在类,是个类级别注解:是@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan三个注解组合作用的代替注解

@SpringBootConfiguration修饰配置性质的类,是个类级别注解,被注解的类作用等同于一个xml。配合@Bean,作用就相当于在一个xml里头定义了数个bean。

@Bean,注释是用来表示一个公有方法实例化,配置和初始化是由 Spring IoC 容器管理的一个新的对象,作用相当于xml里头的bean标签。主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名。@Bean(initMethod=”aa”,destroyMethod=”bb”,name=”future”)–> 指定 aa和bb方法在构造之后.Bean销毁之前执行,指定当前的bean的名称为future,默认会以注解的方法名为名称,销毁和初始化的方法必须是在bean所在class里头定义

@Scope(“prototype”),可以配合@Bean使用设定bean的scope

@EnableAutoConfiguration,启用 Spring 应用程序上下文的自动配置,主要是用来开启自动配置是扫描jar包下,配置了META-INF/spring.factories里面的类和针对当前包以及子包下的自定义组件的(也就是归spring管理的)

@ComponentScan,就是<context:component-scan>的注解方式,base-package就是当前的类所在的包

@SpringBootTest(classes = Demo211Application.class)代替早期的@SpringApplicationConfiguration(Application.class),class属性指定了启动类

@SpringApplicationConfiguration(classes = MockServletContext.class),单元测试,类级别注解,高版本SpringBoot用@SpringBootTest来代替

@EnableConfigurationProperties注解是用来开启对@ConfigurationProperties注解配置Bean的支持。也就是@EnableConfigurationProperties注解告诉Spring Boot 使能支持@ConfigurationProperties。另外,只使用@SpringBootApplication一个注解也是可以的,因为@SpringBootApplication注解中已经包含了@ComponentScan和@EnableConfigurationProperties注解

@ConfigurationProperties(prefix = “com.didispace”):把配置文件的信息,读取并自动封装成实体类,可以和@component或@Bean合起来用,prefix属性是指定配置文件信息的属性名前缀,如com.wlt.name,要想把这个属性映射到实体的name中,那么要求prefix指定前缀com.wlt

@Value(“${com.didispace.blog.name}”):映射配置文件信息中的com.didispace.blog.name属性给指定的字段

@WebAppConfiguration(“src/main/resources”) : 是一级注释,用于声明一个ApplicationContext集成测试加载WebApplicationContext。作用是模拟ServletContext。注解在类上,用来声明加载的ApplicationContex 是一个WebApplicationContext ,它的属性指定的是Web资源的位置,默认为 src/main/webapp ,自定义修改为 resource

@RunWith就是一个运行器(junit注解)
@RunWith(JUnit4.class)就是指用JUnit4来运行
@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境
@RunWith(Suite.class)的话就是一套测试集合,

@ContextConfiguration(locations={“classpath:spring/applicationContext-*xml”}),因为controller,component等都是使用注解,需要注解指定spring的配置文件,扫描相应的配置,将类初始化等。spring里头的单元测试会用到,springboot用不到

@Order,类注解,指定这个类的bean的加载先后顺序

@TransactionConfiguration(transactionManager = “transactionManager”, defaultRollback = true)
?@Transactional 这个两个配合使用,transactionManager = “transactionManager”指定事物管理的bean,defaultRollback = true配置事务的回滚,对数据库的增删改都会回滚,便于测试用例的循环利用

@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚

@Transactional(propagation=Propagation.NOT_SUPPORTED)
Propagation属性值意义:
REQUIRED:业务方法需要在一个容器里运行。如果方法运行时,已经处在一个事务中,那么加入到这个事务,否则自己新建一个新的事务。
NOT_SUPPORTED:声明方法不需要事务。如果方法没有关联到一个事务,容器不会为他开启事务,如果方法在一个事务中被调用,该事务会被挂起,调用结束后,原先的事务会恢复执行。
REQUIRESNEW:不管是否存在事务,该方法总汇为自己发起一个新的事务。如果方法已经运行在一个事务中,则原有事务挂起,新的事务被创建。
MANDATORY:该方法只能在一个已经存在的事务中执行,业务方法不能发起自己的事务。如果在没有事务的环境下香港vps被调用,容器抛出例外。
SUPPORTS:该方法在某个事务范围内被调用,则方法成为该事务的一部分。如果方法在该事务范围外被调用,该方法就在没有事务的环境下执行。
NEVER:该方法绝对不能在事务范围内执行。如果在就抛例外。只有该方法没有关联到任何事务,才正常执行。
NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中。如果没有活动事务,则按REQUIRED属性执行。它使用了一个单独的事务,这个事务拥有多个可以回滚的保存点。内部事务的回滚不会对外部事务造成影响。它只对DataSourceTransactionManager事务管理器起效

handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型)
A、处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解:@PathVariable;
B、处理request header部分的注解:?? @RequestHeader, @CookieValue;
C、处理request body部分的注解:@RequestParam,? @RequestBody;
D、处理attribute类型的注解: @SessionAttributes, @ModelAttribute;
@RequestHeader(“Accept-Encoding”) String encoding:把request header部分的 Accept-Encoding的值,绑定到参数encoding上
@CookieValue(“JSESSIONID”) String cookie:把JSESSIONID的值绑定到参数cookie上
@SessionAttributes:该注解用来绑定HttpSession中的attribute对象的值,便于在方法中的参数里使用。
@ModelAttribute
该注解有两个用法,一个是用于方法上,一个是用于参数上;
用于方法上时:? 通常用来在处理@RequestMapping之前,为请求绑定需要从后台查询的model;
用于参数上时: 用来通过名称对应,把相应名称的值绑定到注解的参数bean上;要绑定的值来源于:
A) @SessionAttributes 启用的attribute 对象上;
B) @ModelAttribute 用于方法上时指定的model对象;
C) 上述两种情况都没有时,new一个需要绑定的bean对象,然后把request中按名称对应的方式把值绑定到bean中。
当同一个controller中有任意一个方法被@ModelAttribute注解标记,页面请求只要进入这个控制器,不管请求那个方法,均会先执行被@ModelAttribute标记的方法,所以我们可以用@ModelAttribute注解的方法做一些初始化操作。当同一个controller中有多个方法被@ModelAttribute注解标记,所有被@ModelAttribute标记的方法均会被执行,按先后顺序执行,然后再进入请求的方法。Model的生命周期只有一个http请求的处理过程,请求处理完后,Model就销毁了。

@SessionAttributes(value=”{…}”):将数据模型中的属性升级为session里头的属性,这样可以多次请求都能访问,原理,是在本次请求结束之后把数据模型对应属性写到session。第二次请求进来又会把session中的数据写到数据模型里头如下:

若不给定注解,参数的绑定,框架默认 如下:
若要绑定的对象时简单类型:? 调用@RequestParam来处理的。 ?
若要绑定的对象时复杂类型:? 调用@ModelAttribute来处理的。

@EnableSwagger2:启用swagger2

@ControllerAdvice:

lombok注解:

lombok的官方地址:https://projectlombok.org/

lombok的Github地址:https://github.com/rzwitserloot/lombok

@NonNull: :注解在属性上;可以帮助我们避免空指针。

@Slf4j : 注解在类上;为类提供一个 属性名为log 的 log4j 日志对象

@Cleanup: 注解在实例上;自动帮我们调用close()方法。作用于继承了closeable的实例

@Getter / @Setter:注解在属性上; 自动生成Getter/Setter方法

@NoArgsConstructor: 注解在类上;自动生成无参数构造函数。

@AllArgsConstructor:注解在类上; 自动生成全参数构造函数。

@Data: 注解在类上;自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor.

@ToString(exclude=”id”) :类级别注解,自动生成类中所有属性的组成的toString方法,除了id这个属性

40569528

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。