spring注解:常用易懂

spring注解:

在使用注解之前,需在配置文件中打开spring注解扫描。spring配置文件详解。开发项目概分4层:工具类及其他、持久层、业务逻辑处理层、控制层。

 1.工具类及其它不好的组件中:

   常用@Component。比如工具类或一些类不属于其它三层时,均可在类上标注该注解。

2.持久层中:

在类上标注@Repository注解即可。该注解用于标注数据访问层,即DAO组件。

3.业务逻辑处理层:

①.类上标注@Service。标注该类为业务逻辑处理层,即service组件。

  ②.@Transactional。该注解用于声明事务。我们知道,在service层中是需要进行业务逻辑处理的。

事务:在取款机取钱时,取款和扣钱就是在一个事务中,如果哪一步发生异常,便回滚。

该注解可标注在类上(给类中所有方法加事务),也可标注在方法上(给具体方法加事务)。

属性readonly:readonlu=true表明所注解的方法或类只是读取数据。readonly=fasle表明所注解的方法

或类是增加、删除、修改数据。

属性isolation:设置底层数据库的事务隔离级别,用于处理多事务并发,通常使用数据库的默认隔离级别

即可,基本不需要进行设置。

属性rollbackFor:设置需要回滚的异常类数组,当方法中抛出指定异常数组中的异常时,进行事务回滚。

@Transactional(rollbackFor= Exception.class)(指定单一异常类),

@Transactional(rollbackFor={RuntimeException.class, Exception.class})(指定多个异常类)。

属性timeout:设置事务的超时秒数(毫秒计)默认为-1永不超时。

属性propagation:事务传播行为。详见:propagation属性列表

③.@Autowired、@Qualifier和@Resource

三者都代表装配,可以书写标注在字段或者该字段的setter方法之上,用于在类中引用已注入的bean。

@Autowired默认按照类型装配,如果想使用按照名称装配,可以结合@Qualifier一起使用,

@Resource默认按照名称装配,当找不到与名称匹配的bean时按照类型装配。可以通过name属性指定。

4.控制层:

①.@Controller:用于标注控制层注解。

②.@RequestMapping:映射url到控制器类,(或到controller控制器的处理方法上)。。(转:地址

如上图,MyController 这个类没有被@RequestMapping标记,当需要访问showView方法时,

使用绝对路径/showView.do 请求。

如上图,在类上加了@RequestMapping 注解,访问showView方法时,就需要加上相对于

控制器MyController 上@RequestMapping 的地址,即/test/showView.do 。

③.@RequestBody和@ResponseBody:

@RequestBody用于读取Request请求的body部分数据,@ResponseBody用于将Controller的

方法返回的对象通过编码转换后写入到Response对象的body数据区。转:地址

流程介绍:用户通过请求@RequestMapping标注的地址进入控制器类(使用@Autowired、

@Qualifier@Resource三者其一注入过service)中,调用业务逻辑处理层(使用@Autowired、

@Qualifier@Resource三者其一注入过dao层),在调用数据访问层(dao层)。

其中,注解(@Component、@Repository、@Service、@Controller)是基于类的注解,

我们可以定义名称也可以不定义。若不定义,spring会默认以类名且首字母小写的词组为 bean 的名称

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值