spring学习笔记

本文介绍了Spring框架中@Autowired、@Transactional及@Service等核心注解的功能与使用方式,并解释了自动装配的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@Autowired

Spring框架中进行注入式,使用@Autowired.
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用;
@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上。前者,Spring会直接将UserDao类型的唯一
自动装配

官方给出的定义是这样:
Spring  IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自

动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。由于

autowire可以针对单个bean进行设置,因此可以让有些bean使用autowire,有些bean不采用。autowire的

方便之处在减少或者消除属性或构造器参数的设置,这样可以给我们的配置文件减减肥。

自动装配属性有6个值可选,分别是:byName、byType、constructor、autodetect、no、default,可以根据英文释义去理解。

@Transactional

Spring事务的传播行为 :
在service类前加上@Transactional,声明这个service所有方法需要事务管理(由Spring管理)。每一个业务方法开始时都会打开一个事务。即是方法里面对数据库操作,如果失败则spring负责回滚操作,成功提交操作。

@Service

@Service用于标注业务层组件。

mvc:annotation-driven

<mvc:annotation- driven/>在初始化的时候会自动创建两个对 象,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter 和 org.springframework.web.servlet.mvc.annotation.DefaultAnnotationMethodHandlerMapping.

<mvc:annotation-driven  />开启了之后它给AnnotationMethodHandlerAdapter初始化7个转换器,可以通过调用AnnotationMethodHandlerAdapter类的getMessageConverts()方法来获取转换器的一个集合 List<HttpMessageConverter>

默认给AnnotationMethodHandlerAdapter初始化的有(当然我们也可以添加自定义的converter)

ByteArrayHttpMessageConverter

StringHttpMessageConverter

ResourceHttpMessageConverter

SourceHttpMessageConverter<T>

XmlAwareFormHttpMessageConverter

Jaxb2RootElementHttpMessageConverter

MappingJacksonHttpMessageConverter


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值