Spring - 框架相关内容3(Spring注解式开发)

目录

一、Spring注解式开发

1.开发注解扫描

2.实例化相关注解(创建对象的注解,相当于bean标签)

3.控制对象的创建次数的注解

4.注入相关注解

5.控制事务的相关注解

6.配置文件中

二、创建复杂对象


一、Spring注解式开发

注解式开发目的:为了提高现有的配置文件开发效率

1.开发注解扫描

 

2.实例化相关注解(创建对象的注解,相当于bean标签)

  • @Component("beanid")

    修饰范围:类

    注解作用:通用的创建实例的注解,用来创建当前这个类的实例

    value属性:用来指定创建对象的beanid,如果不指定默认为类名首字母小写

  • @Repository("beanid")

    修饰范围:类

    注解作用:@Component的子类注解 专用于Dao组件,mybatis中用不到

    value属性:用来指定创建对象的beanid,如果不指定默认为类名首字母小写

  • @Service("beanid")

    修饰范围:类

    注解作用:@Component的子类注解专用于Service组件

    value属性:用来指定创建对象的beanid,如果不指定默认为类名首字母小写

3.控制对象的创建次数的注解

  • @Scope("singleton/prototype")

    修饰范围:类

    注解作用:用来控制这个实例在工厂中的创建次数

    value属性:singleton为单例(单例为默认,不需要写这个注解)

    prototype为多例

4.注入相关注解

  • @Autowired(由Spring提供)

    修饰范围:成员变量或其setter

    注解作用:用来给类中成员变量赋值

    注入原则:默认根据类型自动注入

  • @Resource(由JAVAEE提供)

    修饰范围:成员变量或其setter

    注解作用:用来给类中成员变量赋值

    注入原则:默认根据名称自动注入,找不到时自动采用根据类型注入

    使用这两个注解时,成员变量可以省略setter

5.控制事务的相关注解

  • @Transactional

    修饰范围:类或方法

    注解作用:用来给类中的方法加入事务,当类上和方法上同时存在该注解时方法优先

  • 注解属性

    属性名描述用法举例
    propagation用来控制传播属性@Transactional(propagation = Propagation.SUPPORTS)
    isolation用来控制隔离级别@Transactional(isolation = Isolation.SERIALIZABLE)
    timeout用来设置超时性(毫秒)@Transactional(timeout = 1000)
    rollbackFor用来设置什么异常回滚@Transactional(rollbackFor = Exception.class)
    noRollbackFor用来设置什么异常不回滚@Transactional(noRollbackFor = IOException.class)
    readOnly用来设置事务读写性@Transactional(readOnly = true)

    6.配置文件中

     

    配置文件中不再需要配置事务属性和配置事务切面

二、创建复杂对象

复杂对象:类中没有构造方法或者构造方法不能调用,如接口类型或抽象类实例。

 <bean id="connection" class="com.baizhi.factorybean.ConnectionFactoryBean"/>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值