Spring之常用注解 注解开发 依赖注入 配置类 整合Junit......(1)

简介: Spring之常用注解 注解开发 依赖注入 配置类 整合Junit......(1)

1.依赖注入

所谓依赖注入就是根据key找到对应的对象 这里的key是指 ioc容器他是一个Map结构的容器

key:名字 value:对象

image.png@Component注解

将对象交给Ioc容器管理 @Component有一个属性value 给value赋值一个名字 交给ioc value属性值在ioc中相当于key 可以不给value赋值 那么默认值就是类名首字母改小写 就是它的默认值 为了区分不同层的依赖注解 @Component衍生出三种注解


@Controller 表现层

用来修饰表现层 把表现层的对象交给ioc容器管理


@Service

用来修饰业务层(逻辑层) 把业务层对象交给ioc容器管理


@Repository

用来修饰数据访问层 把数据访问层对象交给ioc管理


三种衍生注解的功能跟@Component的功能完全一样 只是为了区分不同层 如果没有给它指定value属性 默认值就是类名加首字母小写 如果一个接口下有两个实现类 两个注解都没有指定value值 现在要为这个注解依赖注入对象 那么会注入哪个对象呢??? 根据变量名来注入

变量名 要实现类的首字母加小写 就能够实现依赖注入 是那个实现类的就注入哪个实现类的 如果变量名不是实现类的首字母加小写就会报错 value属性名可用省略不写


image.png


2.配置类


@Configuration


用来标记这个类是一个Spring的配置类


@ComponentScan


用来扫描指定包下的注解 将它们放入Ioc容器管理 @ComponentScan有一个属性basePackages 值是一个数组 可以指定多个扫描路径

image.png


3.整合Junit


@RunWith


@RunWith就是一个运行器 用来指定Spring的Junit测试 替代原来的Junit

在Spring5之前指定SpringJUnit4ClassRunner.class Junit测试


@RunWith(SpringJUnit4ClassRunner.class)


在Spring5之后指定SpringRunner.class Junit测试

@RunWith(SpringRunner.class)


@ContextConfiguration


加载配置类 classes属性指定配置类类名.class 配置类去扫描指定注解将它们放入Ioc容器


image.png

相关文章
|
13天前
|
安全 Java API
深入解析 Spring Security 配置中的 CSRF 启用与 requestMatchers 报错问题
本文深入解析了Spring Security配置中CSRF启用与`requestMatchers`报错的常见问题。针对CSRF,指出默认已启用,无需调用`enable()`,只需移除`disable()`即可恢复。对于`requestMatchers`多路径匹配报错,分析了Spring Security 6.x中方法签名的变化,并提供了三种解决方案:分次调用、自定义匹配器及降级使用`antMatchers()`。最后提醒开发者关注版本兼容性,确保升级平稳过渡。
59 2
|
1月前
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
84 0
|
19天前
|
人工智能 缓存 自然语言处理
保姆级Spring AI 注解式开发教程,你肯定想不到还能这么玩!
这是一份详尽的 Spring AI 注解式开发教程,涵盖从环境配置到高级功能的全流程。Spring AI 是 Spring 框架中的一个模块,支持 NLP、CV 等 AI 任务。通过注解(如自定义 `@AiPrompt`)与 AOP 切面技术,简化了 AI 服务集成,实现业务逻辑与 AI 基础设施解耦。教程包含创建项目、配置文件、流式响应处理、缓存优化及多任务并行执行等内容,助你快速构建高效、可维护的 AI 应用。
|
1月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
39 0
|
1月前
|
Java 数据库连接 数据库
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
110 0
|
1月前
|
Java 测试技术 Android开发
课时148:junit测试工具
课时148介绍了JUnit测试工具的使用,包括定义、配置和编写测试程序。JUnit是流行的用例测试工具,用于确保代码稳定性。
|
8月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
6月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
118 5
|
7月前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
138 6
|
8月前
|
测试技术
单元测试问题之使用TestMe时利用JUnit 5的参数化测试特性如何解决
单元测试问题之使用TestMe时利用JUnit 5的参数化测试特性如何解决
138 2