springboot框架常用注解笔记

首先是springboot框架的通用分层:

1.实体层:常用文件夹命名有:bean、pojo、model 

    具体就是和数据库对应的字段名称形成的一个类

    (针对通用的Hibernate jpa)

    使用@Entity:对实体注释,表明是Hibernate映射对象都要有这个注释

   使用@Table声明此对象映射到数据库的数据表,通过它可以为实体指定表(talbe),目录(Catalog)和schema的名字。该注释不是必须的,如果没有则系统使用默认值(实体的短类名)。

使用@Id 表明为主键

使用@GeneratedValue指定主键的生成策略。比如指定、自增等

@Column注解表明字段对应 比如数据库为test_xxxx字段,那么@Column(name="test_xxxx")表明映射这个字段

然后还有@ManyToOne,@JoinColumn,@OneToMany,@OneToOne,@ManyToMany等关联注解

(以上几个注解。mybatis的话不用)

2.数据持久层:DAO

   具体为使用sql语句定义接口,书写与数据库的交互,配置与数据库有关的一些参数,

使用@Repository注解:用于标注数据访问组件,即DAO组件

3.业务层:service层,以及serviceimpl实现层

   service层具体就是写接口,通过Impl层注解实现注入,本身无需注解

   serviceimpl层就是继承接口,具体实现接口函数。

impl外部使用@Service注解:自动注册到Spring容器

@Autowired是用在JavaBean中的注解,用来给指定的字段或方法注入所需的外部资源。service层和controller层都用

4.控制层:controller层

  具体为进行具体处理,例如接收前端数据,返回后端数据等,调用各种实际要执行的函数,从而达成目的;

@RestController用于标注控制类,是一个组合注解相当于@Controller+@ResponseBody,需引用包

@Controller注解:自动注册到Spring容器,和service层类似

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。

@ResponseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式,比如返回json格式

(如果使用thymeleaf要@Controller注解。如果要返回json数据,那么注解为@RestController)

 

 

除此以外还有些常用的注解

5.jpa Dao层使用:

@Query 该注解用于执行sql语句,注入自定义的sql,nativeQuery表明是否使用原生的sql语句。为false则sql语句字段为后端映射到的属性

@Modifying来标注这句sql是一个更新类(增删改)的自定义语句。

@Transactional注解是设置其不为只读(readOnly),因为不加上这个注解的话,Dao层的@Repository默认为只读的

 

6.shiro 权限验证的注解:

@RequiresAuthentication验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时。

@RequiresRoles("RoleName");从subject中验证用户的角色

@RequiresPermissions("PermissionName");从subject中验证用户的角色的权限是否拥有

@RequiresPermissions(value={"myaddpermission"},logical= Logical.OR)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值