| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring5从入门到入坟:使用注解开发 -> 正文阅读 |
|
[Java知识库]Spring5从入门到入坟:使用注解开发 |
jdk1.5开始支持注解,spring2.5开始全面直接注解 准备工作:利用注解的方式注入属性 1、在spring配置文件中引入context文件头
2、开启注解支持
@Autowired·@Autowired是按类型自动装配的,不支持id匹配 ·需要导入spring-aop的包 测试: 1、将people类中的set方法去掉,使用@Autowired注解
2、此时的配置文件内容
3、测试
?@Qualifier·@Autowired根据类型自动装配,加上?@Qualifier则可以根据byName的方式自动装配 ·?@Qualifier不能单独使用。 测试步骤: 1、配置文件修改内容,保证类型存在对象。且名字不为类的默认名字
2、不加Qualifier测试,直接报错 3、在属性上加上Qualifier注解
4、测试 ?@Resource·@Resource如有指定的name属性,先按该属性进行byName方式查找装配 ·其次再进行默认的byName方式进行装配 ·如果以上都不成功,则按byType的方式自动装配 ·都不成功,则报异常 实体类:
beans.xml
测试成功! 配置文件:beans.xml? 删掉cat2 people.java? 只保留注解 测试:ok 结论:先进性byName查找,失败;再进行byType查找,成功! 小结@Autowired和@Resource 1、二者都可以用来装配bean。都可以写在字段上,或写在setter方法上 2、@Autowired默认按类型装配(属于spring规范),默认情况下必须要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false,如:@Autowired(required=false),如果我们想使用名称装配可以结合@Qualifier注解进行使用 3、@Resource(属于J2EE复返),默认按照名称进行装配,名称可以通过name属性进行指定。如果没有指定name属性,当注解写在字段上时,默认取字段名进行按照名称查找,如果注解写在setter方法上默认取属性名进行装配。当找不到与名称匹配的bean时才按照类型进行装配,但需要注意的是,如果name属性一旦指定,就会按照名称进行装配 他们的作用相同:都是用注解方式注入对象,但执行顺序不同。@Autowired 先byTyoe,?? @Resource先byname 使用注解开发在配置文件当中,引入一个context约束
Bean的实现 我之前都是使用Bean的标签进行bean注入,但是实际开发中,我们一般都会使用注解 1、配置扫描包下的注解
2、在指定类下编写类,增加注解 相当于配置文件中<bean id="user" class="当前注解下的类"
3、测试
属性注入使用注解注入属性 1、可以不用提供set方法,直接在直接名上添加@value("值")
2、如果提供了set方法,在set方法上添加@Value("值"); 衍生注解@Component三个衍生注解 为了更好的进行分层,Spring可以使用其他三个注解,功能一样,目前使用哪一个功能都一样 ·@Controller:web层 ·@Service:service层 ·@Repository:dao层 写上这些注解,就相当于将这个类交给Spring管理装配了 自动装配注解 @scope ·singleton:默认的,Spring会采用单例模式创建这个对象。关闭工厂,所有的对象都会销毁 ·prototype:多例模式。关闭工厂所有的对象不会校会。内部的垃圾回收机制会回收 小结 XML与注解比较 ·XML可以使用任何场景,结构清晰,维护方便 ·注解不是自己提供的类使用不了,开发简单方便 xml与注解整合开发:推荐最佳实践 `xml管理Bean ·注解完成属性注入 ·使用过程中,可以不用扫描,扫描是为了类上的注解 作用: ·进行注解驱动注册,从而使注解生效 ·用于激活那些在spring容器里注册过得Bean上面的注解,也就是显示的向Spring注册 ·如果不扫描包,就需要手动配置bean ·亲如果不加注解驱动,则注入的值为null |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:22:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |