Java 注解之总结

注解是Spring和Mybatis框架所大量使用的技术,要想掌握框架相关技术,注解是必须要掌握的。

掌握注解的优势:

  1.能够读懂别人写的代码,特别是框架相关的代码。

  2.本来可能需要很多配置文件,需要很多逻辑才能实现的内容,就可以使用一个或者多个注解来替代,这样就使得编程更加简洁,代码更加清晰。

  3.会自定义注解的话能够让人高看一眼。

  注解这一概念是在java1.5版本提出的,说Java提供了一种原程序中的元素关联任何信息和任何元数据的途径的方法。

 

一、Java常见注解

  1、Java 自带注解    

    @Override //该注解作用就是告诉我们和编译器该注解下的方法覆盖了Person类的方法

    @Deprecated //测试方法是否过时

    @SuppressWarnings 就表示我们忽略警告。

      

  2、第三方注解

    2.1、Spring 注解

      

 1 1.1    装配Bean的相关注解
 2     @Component
 3         该注解配置在类上,可以将类装配到spring容器中,并且可以通过其属性value值id名称
 4     @Controller
 5         是@Component的衍生注解,使用web层上的,用法和@Component一致
 6     @Service
 7         是@Component的衍生注解,使用在service层上的,用法和@Component一致
 8     @Repository
 9         是@Component的衍生注解,使用在dao层上的,用法和@Component一致
10     @Bean
11         该注解配置在方法上,可以将方法的返回值装配到spring容器中,默认的id为方法名  称,可以通过其name属性指定id名称
12 1.2    属性注入的相关注解
13     @Value
14         可以给基本类型和String类型注入属性值,并且可以使用占位符表达式${jdbcUrl}获取    资源文件中的数据,如果是配置类,需要资源文件解析器的支持。    PropertySourcesPlaceholderConfigurer
15     @Autowired
16         用来注入bean类型的,会自动按照类型进行注入,如果有多个类型匹配,会使用变量成名作为id到spring容器中进行匹配注入
17     @Qualifier
18         用来配合@Autowired,通过指定id进行bean类型的注入
19 还可以使用在方法的参数中,通过id进行bean类型的注入
20     @Resource
21         用来通过id进行bean类型的注入,相当于配置了@Autowired+@Qualifier两个注解
22 1.3    配置类相关
23     @Configuration
24         通知spring这是一个配置类,用来代替applicationContext.xml的
25     @ComponentScan
26         用来在配置类上设置注解扫描的包相当于<context:component-scan base-package="cn.itcast"></context:component-scan>
27     @Import
28         用来引入其他类的信息,将其导入到配置类中。
29     @PropertySource
30         该注解可以用来加载资源文件,比如:jdbc.properties
31     @EnableTransactionManagement
32         使用注解事务
33     @EnableAspectJAutoProxy
34         使用注解的AOP
35 1.4    测试相关
36     @RunWith
37         通知spring使用spring的test模块整合junit,方便我们进行测试SpringJUnit4ClassRunner.class
38     @ContextConfiguration
39         该注解是用来加载xml配置文件或者配置类的,用以创建spring容器。
40             配置类的加载方式
41         classes={SpringConfiguration.class}
42             Xml的加载方式
43         locations={"classpath:applicationContext.xml"}
44 1.5    事务
45     @Transactional
46         配置事务管理的注解,可以设置传播行为和是只读等。
47 1.6    其他
48     @Scope
49         设置bean的作用域的
50     @PostConstruct
51         设置方法为初始化方法
52     @PreDestroy
53         设置方法为销毁方法      

    2.2、Struts2 注解   

1 @Namespace("/customer")
2     设置名称空间
3 @ParentPackage("struts-default")
4     设置所要继承的父包
5 @Action
6     指定当前动作方法的动作名称。也就是xml配置时action标签的name属性。
7 @Result
8     出现在Action注解中,表示当前Action可用此视图,相当于配置一个局部结果集视图
9 出现在类上,表示当前动作类中的所有动作方法都可以用此视图,相当于配置一个全局结果集视图
10 @InterceptorRef
11 用于配置要引用的拦截器或者拦截器栈

    2.3、Hibernate 注解

      

 1 @Entity
 2     作用:指定当前类是实体类。写上此注解用于在创建SessionFactory/EntityManager时,加载映射配置。
 3 @Table
 4     作用:指定实体类和表之间的对应关系。
 5     属性:
 6         name:指定数据库表的名称
 7 @Id
 8     作用:指定当前字段是主键。
 9 @GeneratedValue
10     作用:指定主键的生成方式。JPA的主键生成方式详解见2.4小节的说明。
11     属性:
12         strategy :指定主键生成策略。JPA支持四种生成策略,具体介绍看2.4小节。
13 @Column
14     作用:指定实体类属性和数据库表之间的对应关系
15     属性:
16         name:指定数据库表的列名称。
17             unique:是否唯一  
18             nullable:是否可以为空  
19             inserttable:是否可以插入  
20             updateable:是否可以更新  
21             columnDefinition: 定义建表时创建此列的DDL  
22             secondaryTable: 从表名。如果此列不建在主表
23 @OneToMany
24     建立一对多的关系映射
25 @ManyToOne
26     建立多对一的关系
27 @JoinColumn
28     用于定义主键字段和外键字段的对应关系
29 @ManyToMany
30     用于映射多对多关系
31 @JoinTable
32     针对中间表的配置

    2.4、Spring MVC 注解 (待后续更新)

    2.5、Mybatis 注解 (待后续更新)

 

  3、自定义注解

   尴尬了,我也不会

 

  

转载于:https://www.cnblogs.com/RedHat-Linux/p/7862344.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值