2021-11(java-spring学习笔记二)
2021/11/15 12:09:41
本文主要是介绍2021-11(java-spring学习笔记二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
一、Bean的自动装配
1.byName和byType装配
2.使用注解实现装配
@Autowired
@Resource
二、使用注解开发
三、代理模式
静态代理
动态代理
四、AOP
1、aop在spring中的作用
第一种方式
第二种方式实现aop
第三种方式,使用注解
一、Bean的自动装配
- 自动装配是Spring满足bean依赖一种方式
- Spring会在上下文中自动寻找,并自动给bean装配属性
在Spring中有三种装配方式
- 在xml中显示的配置
- 在java中显示配置
- 隐式的自动装配bean【重要】
1.byName和byType装配
<bean id="cat" class="com.kun.pojo.Cat"></bean> <bean id="dog" class="com.kun.pojo.Dog"></bean> <!-- byName会自动在容器上下文查找,和自己set方法后面的值对应的beanId byType找对象相同的对象属性 --> <bean id="people" class="com.kun.pojo.People" autowire="byType"> <property name="name" value="带鱼"/> <!-- <property name="cat" ref="cat"/>--> <!-- <property name="dog" ref="dog"/>--> </bean>
2.使用注解实现装配
1.导入约束
2.配置注解的支持
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:annotation-config/> </beans>
@Autowired
直接在属性上使用或者在set方法上使用,使用了以后可以不用写set方法了,且符合byType。
<!--开通注解支持--> <context:annotation-config/>
@Autowired private Cat cat; @Autowired private Dog dog;
科普:@Nullable 字段标记的注解,说明这个值可以为空
如果autowired,require为false表示允许cat在容器中不存在
提过自动装配有多个或者复杂,无法匹配用
@Autowired @Qualifier(value = "dog22") private Dog dog;
@Resource
先匹配名字在匹配类型
可以加name属性里的value值确定装配
两者的区别:
- 都是用来自动装配的
- autowired用过bytype
- resource默认通过byname方式,如果找不到在通过byType
二、使用注解开发
必须导入aop包,使用注解需要导入context约束,增加注解的支持
<!--指定要扫描的包,这个包下的注解生效--> <context:component-scan base-package="com.kun.pojo"/> <!--开通注解支持--> <context:annotation-config/>
1、bean
2、属性注入
这篇关于2021-11(java-spring学习笔记二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-30java最新版本是什么,有什么特性?-icode9专业技术文章分享
- 2024-11-30[开源]27.8K star!这款 Postman 替代工具太火了!
- 2024-11-30Gzip 压缩入门教程:轻松掌握文件压缩技巧
- 2024-11-29开源工具的魅力:让文档管理更“聪明”
- 2024-11-29Release-it开发入门教程
- 2024-11-29Rollup 插件入门教程:轻松掌握模块打包
- 2024-11-29从零到一,产品经理如何玩转项目管理和团队协作
- 2024-11-29如何通过精益生产管理工具帮助项目团队实现精准进度控制?
- 2024-11-29低代码应用开发课程:新手入门与基础教程
- 2024-11-29入门指南:全栈低代码开发课程