学习java注解,初试启动springboot项目
元注解:
元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:
1.@Target
2.@Retention
3.@Documented
4.@Inherited
@Target
取值有:用于描述注解的使用范围
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retention 表示需要在什么级别保存该注释信息,用于描述注解的生命周期
取值有:
1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
3.RUNTIME:在运行时有效(即运行时保留)
@Documented 是一个标记注解,没有成员。
@Retention
表示需要在什么级别保存该注释信息,用于描述注解的生命周期
利用springboot 启动写一个例子
package com.hcmony;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import java.lang.annotation.*;
/**
* @FileName package PACKAGE_NAME.com.hcmony.MyAnnotation.java
* @Creator hcmony
* @Created 2017-11-15 16:50:00
*/
@Target(ElementType.TYPE)
@Documented
@Retention(RetentionPolicy.RUNTIME)
@SpringBootApplication
@ComponentScan
public @interface MyAnnotation {}
package com.hcmony.adwarn; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.ComponentScan; @MyAnnotation public class AdWarnApplication { /** * 方法描述:启动程序 * * @author hcmny 2017年4月22日 下午4:07:50 * @param args */ public static void main(String[] args) { SpringApplication.run(AdWarnApplication.class, args); } }
上面的例子,通过自定义注解 MyAnnotation 就可以直接启动一个springboot 项目