整理注解使用

常用注解

三个标注注解
@Override - 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。
@Deprecated - 标记过时方法。如果使用该方法,会报编译警告。
@SuppressWarnings - 指示编译器去忽略注解中声明的警告。
四个元注解
@Retention - 标识这个注解怎么保存,是只在代码中,还是编入class文件中,或者是在运行时可以通过反射访问。
@Documented - 标记这些注解是否包含在用户文档中。
@Target - 标记这个注解应该是哪种 Java 成员。
@Inherited - 标记这个注解是继承于哪个注解类(默认 注解并没有继承于任何子类)
新版本注解
@SafeVarargs - Java 7 开始支持,忽略任何使用参数为泛型变量的方法或构造函数调用产生的警告。
@FunctionalInterface - Java 8 开始支持,标识一个匿名函数或函数式接口。
@Repeatable - Java 8 开始支持,标识某注解可以在同一个声明上使用多次。
javax 生命周期注解
@PostConstruct 初始化执行方法
@PreDestroy 销毁执行方法
@Resource 注解自带了“name”的val就是@Service注解的名称之一
spring 基础注解
@Controller @Service @Repository @Component @Configuration @Bean 

@ComponentScan  @Conditional @Transactional @Cacheable @Scheduled @EnableWebMvc 配置注解

@ControllerAdvice @ExceptionHandler 结合使用处理异常

@Profile @ActiveProfiles 结合使用激活配置注入bean

@Autowired 类型进行自动装配  @Qualifier 指定按名称进行装配 可结合使用 IOC 
@Qualifier 的标注对象是成员变量、方法入参、构造函数入参 

@Inject 与 @Autowored 只有细微差别, 按类型进行自动装配.  若按名称进行装配,则需要配合@Name

@Aspect @After @Before @Around 结合使用 AOP

@WebAppConfiguration @ContextConfiguration @RunWith 结合使用 @Test
mvc 注解
@RequestMapping
@ResponseBody
@RequestBody
@RequestParam
@PathVariable

@Scope 配置spring ioc中bean的实例化方式, 默认单例 singleton 
singleton 在spring IOC容器中仅存在一个Bean实例,Bean以单实例的方式存在.

prototype 每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行new XxxBean()的操作.

request 每次HTTP请求都会创建一个新的Bean,该作用域仅适用于webApplicationContext环境.

session 同一个HTTP session共享一个Bean,不同HTTP session使用不同的Bean,该作用域仅适用于webApplicationContext环境。

globalSession同一个全局session共享一个Bean,一般用于portlet应用环境,该作用域仅适用于webApplicationContext环境。
springboot注解
@SpringBootApplication
@MapperScan
@ConfigurationProperties
@ImportResource
@EnableAutoConfiguration
@Enable*

spring boot项目注解的形式配置web.xml

servlet3.0规范中非常重要的一个类 可以通过java配置(注解等)代替web.xml,spring boot就是使用java代替了web.xml。
javax.servlet.ServletContainerInitializer负责web容器启动阶段被回调,在onStartup方法里注册servlet、filter、listener等。
spring-web包实现了这个类, 但如果还是想使用web.xml也是可以的, 在项目的src/main/webapp/WEB-INF目录下放置web.xml。
springboot的实现,在META-INF/services下配置了这个类SpringServletContainerInitializer, 让整个web容器启动后可以找到并启动这个类
spring boot项目配置servlet、filter、listener 采用原生Servlet3.0的注解进行配置,@WebServlet 、@WebListener、@WebFilter是Servlet3.0 api中提供的注解

@WebServlet(name = "MyServlet",urlPatterns = "*.do")
public class MyServlet extends HttpServlet {}

@WebFilter(urlPatterns = "/*", filterName = "MyFilter ")
public class MyFilter implements Filter {}

@WebListener
public class MyListener implements ServletContextListener {}

然后配置注解ServletComponentScan在spring boot启动类

@SpringBootApplication
@ServletComponentScan
public class TestApp{
    public static void main(String[] args){
    	SpringApplication.run(TestApp.class, args);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值