spring 学习汇总

spring 中 Ioc 的 pom 依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.23</version>
</dependency>

Ioc(控制反转):它是一种思想,由容器集中进行对象的创建和依赖管理。

基于xml

方式一: setter注入

<bean id = "school" class="com.zjh.demo.s01.School">
    <property name="name" value="北京大学"></property>
    <property name="address" value="地球村"></property>
</bean>

方式二: 构造方法注入

  1. 使用参数名称赋值
<bean id="stu1" class="com.zjh.demo.s02.Student">
    <constructor-arg name="address" value="22"></constructor-arg>
    <constructor-arg name="name" value="李四"></constructor-arg>
    <constructor-arg name="school" ref="school1"></constructor-arg>
</bean>
  1. 使用参数的下标位置赋值
<bean id="stu2" class="com.zjh.demo.s02.Student">
    <constructor-arg index="0" value="22"></constructor-arg>
    <constructor-arg index="1" value="李四"></constructor-arg>
    <constructor-arg index="2" ref="school1"></constructor-arg>
</bean>
  1. 按照参数的顺序赋值
<bean id = "stu3" class="com.zjh.demo.s02.Student">
    <constructor-arg value="25"></constructor-arg>
    <constructor-arg value="王五"></constructor-arg>
    <constructor-arg ref="school1"></constructor-arg>
</bean>

方式三: 自动注入
byName: 按照成员变量的名称,在Spring容器中找到相同id的对象,自动进行注入
byType: 按照成员变量的类型,在Spring容器中找到同源的对象,自动进行注入

<bean id = "stu" class="com.zjh.demo.s01.Student" autowire="byName">
    <property name="name" value="张三"></property>
    <property name="id" value="23"></property>
    <property name="school" ref="school"></property>
</bean>

注意: 一种类型只能有一个对象,多于一个对象时,注入报错

基于注解

扫描组件

<context:component-scan base-package="com.zjh.demo"/>
对象的注解

@Component: 可以对所有对象进行创建
@Repository: 用于数据访问层对象的创建
@Service: 用于业务逻辑层对象的创建
@Controller: 用于控制层对象的创建
@RestController(@Controller+@ResponseBody): 构建RESTful风格的Web服务
@Autowired/@Resource(非spring的注解): 赋值的注解

配置文件的拆分

文件名: applicationContext_mapper.xml

<bean id = "mapper" class="com.zjh.demo.mapper.UserMapperImp"></bean>

文件名: applicationContext_service.xml

<bean id = "service" class="com.zjh.demo.service.UserServiceImp">
    <property name="userMapper" ref="mapper"></property>
</bean>

文件名: applicationContext_controller.xml

<bean id = "controller" class="com.zjh.demo.controller.UserController">
    <property name="userService" ref="service"></property>
</bean>

文件名: total.xml

<import resource="applicationContext_*.xml"></import>

@Transactional注解的参数详解

@Transactional(
  noRollbackForClassName = “ArithmeticException”, //发生指定的异常不回滚,使用异常的名称
  noRollbackFor ={ArithmeticException.class} , //发生指定的异常不回滚,使用异常的类型
  rollbackForClassName = “NullPointerException” , //发生指定的异常必须回滚,使用异常的名称
  rollbackFor = NullPointerException.class, //发生指定的异常必须回滚,使用异常的类型
  readOnly = false, //在查询时必须设置为true(只读),默认是false

知识点练习

spring 知识点练习(gitee仓库)

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

费卡拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值