Spring-IOC

Spring注解开发

Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。

Spring原始注解主要是替代的配置

注解引入

在这里插入图片描述

Controller(控制器:控制网站跳转逻辑)

通过bean上添加某些注解可以快速的将bean加入到ioc容器中

@Scope()单 多实例改变

1.加入注解之后要进行自动组件扫描–context:component-scan

  1. base-package-指定扫描的基础包;把基础包及他下面的所有包加注解的类,自动扫描进ioc容器

    3.注解之后getBean 直接类名首字母小写 组件作用域是单列的(BookDao —bookDao)一定要导入aop包

但是 作用域 跟 id 可改名 注解后直接加(id名)

注解说明
@Component使用在类上用于实例化Bean
@Controller使用在web层类上用于实例化Bean
@Service使用在service层类上用于实例化Bean
@Repository使用在dao层类上用于实例化Bean
@Autowired使用在字段上用于根据类型依赖注入
@Qualifier结合@Autowired一起使用用于根据名称进行依赖注入
@Resource相当于@Autowired+@Qualifier,按照名称进行注入
@Value注入普通属性
@Scope标注Bean的作用范围
@PostConstruct使用在方法上标注该方法是Bean的初始化方法
@PreDestroy使用在方法上标注该方法是Bean的销毁方法

context:exclude-filter 指定扫描包时不包含的类

type="annotation" --指定排除类型 
express="全类名"

context:include-filter 指定扫描包时包含的类

@Autowired自动装配

原理:

@AutoWired

private BookService bookService

1.先按类型去类型去容器中找到对应的组件

​ 1.1找到一个就进行赋值

​ 1.2 找到多个bean怎么办-- 按照变量名作为id 装配的 以id作为标准进行匹配–匹配不上怎么办?---- 改变量名—@Qualifier(“xxxService”)做id

@Autowired注解的required属性指定某个属性允许不被设置

找不到返回null

@Resource ==@Autowired 都是自动自动装配 @Autowired是哥哥(Sping的)

@Resource 没办法设置找不到变null不报错的功能。

@Resource 可扩展性强 支持平台多

Spring单元测试

@ContextConfiguration(locations=" ")使用它来指定spring的配置文件的位置

@RunWith()指定用那种驱动进行单元测试 默认是Junit

好处:不用ioc.getBean获取组件 直接用autowired组件。spring为我们自动装配

测试泛型依赖注入

@Service @Service

BookService extends BaseService UserService extends BaseService

​ | BookDao | UserDao

​ BaseService(@Autowired BaseDao )

​ |

​ BaseDao – 定义了基本的增删改查方法在这里插入图片描述

带泛型的父类类型

Sping可以使用带泛型的父类类型来确定子类的类型

Spring新注解

注解说明
@Configuration用于指定当前类是一个 Spring 配置类,当创建容器时会从该类上加载注解
@ComponentScan用于指定 Spring 在初始化容器时要扫描的包。 作用和在 Spring 的 xml 配置文件中的 <context:component-scan base-package=“com.itheima”/>一样
@Bean使用在方法上,标注将该方法的返回值存储到 Spring 容器中
@PropertySource用于加载.properties 文件中的配置
@Import用于导入其他配置类

IOC总结

ioc是容器 帮我们管理组件(类)

1.@AutoWired:自动赋值

2,前提要加入的容器中。

容器就是一个map 保存所有创建的bean,并提供外界获取功能。
|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值