spring
@Repository : 适用于DAO层
@Service : 适用于Service
@Controller : 适用于Web
@Service : 用于标注业务层组件
@Controller :用于标注控制层组件(如struts中的action)
@Repository : 用于标注数据访问组件,即DAO组件
@Component : 可配合CommandLineRunner使用,在程序启动后执行一些基础任务。
@value
在bean中使用@value注解获取配置文件的值
Boot
@SrpingBootApplication = @CommponentScan+@Configuartion+@EnableAutoConfiguration
@RestController = @Controller + @ResponseBody ,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。
@Configuration = spring 的xml配置文件
@EnableAutoConfiguration : 自动配置
@Autowired : 自动注入
如果都采用的默认没有指明id的话。
那么applicationContext在初始化类会把类的首字母改成小写作为bean的key。
@Autowired(required=false):从bean工厂里面去获取已经初始化好的对象,默认值是true。
如果你指明false,如果我的key在beanfactory如果没有找到的话,我不会报错.
@ComponentScan : 组件扫描,可自动发现和转配一些bean
@PathVariable : 获取参数。
@JsonBackReference : 解决嵌套外链问题。
@RepositoryRestResourcepublic : 配合spring-boot-starter-data-rest使用。
@ResponseBody:表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。
在使用@RequestMapping后,返回值通常解析为跳转路径,加上@esponsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@Responsebody后,会直接返回json数据。该注解一般会配合@RequestMapping一起使用。
@Qualifier
如果创建实体的时候不是按照类名首字母改为小写的方式,那么在@Autowired利用注解获取对象的引用的时候可以加上@Qualifier("l3")注解获取到对应的对象引用
Data
@Data 注解在类上,提供类所有属性的getting,setting方法,还又equals,canEqual,hashCode,toString方法
@Setter,@Getter注解在属性上,提供setting和getting 方法
@Log4j:注解在类中,提供属性名为log4j的日志对象
@NoArgsConstructor:注解在类上,为类提供一个无惨的构造函数
@AllArgsConstructor:注解在类上,为类提供一个全参的构造函数
@NonNull:注解在参数上,如果参数为null,会throw new NullPointerException(参数名)
@Cleanup:注解在引用变量前:自动收回资源默认调用close方法
@Cleanup("dispose")org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent,0);
@Cleanup InputStream in = new FileputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
@Builder:注解在类上,为类提供一个内部的Builder