spring5 入门(四)使用注解开发
时间:2021-09-03
本文章向大家介绍spring5 入门(四)使用注解开发,主要包括spring5 入门(四)使用注解开发使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
首先使用注解开发,必须在xml中导入context约束,下列代码红色部分,
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
</beans>
之前我们都是在xml中同过bean注册一个类,现在可以直接通过@Component通过这个注解,进行注册,代码如下:
@Component
public class Teacher {
@Value("xxxxx")
private String name;
@Autowired
private Student student;
public Teacher() {
}
其中可以通过@Value这个注解进行变量值的注入,整个操作代替了bean注册的操作,当使用@Component注解的类要被xml文件扫描到,需要配置对应扫描路径
之所以要这样配,是因为我们的上下文对象是,是通过xml文件这个resource源有参构造出来的,对应扫描配置如下:
<context:component-scan base-package="com.hys.pojo"/>
XML与注解比较
-
XML可以适用任何场景 ,结构清晰,维护方便
-
注解不是自己提供的类使用不了,开发简单方便
xml与注解整合开发 :推荐最佳实践
-
xml管理Bean
-
注解完成属性注入
-
使用过程中, 可以不用扫描,扫描是为了类上的注解
基于java类进行配置,上面所述的上下文对象除了使用源文件,可以通过java配置类构建出来:
一个是基于java配置类
一个是基于xml文件
ApplicationContext context = new AnnotationConfigApplicationContext(studengconfig.class);
ApplicationContext context2 = new ClassPathXmlApplicationContext("bean.xml");
基于java配置类,完全可以省去了xml配置文件,在spring-boot中基本都是这样的!代码如下:
@Configurable代表了这个类表示为对应bean.xml文件
@Bean即文件中的bean属性 ,该方法的返回值类型,代表对应类,方法名代表对应id
@ComponentScan("com.hys.pojo") 表示扫描使用了@Component的类,进行bean注册
@Configurable
@ComponentScan("com.hys.pojo")
public class studengconfig {
@Bean
public Student student(){
return new Student();
}
}
原文地址:https://www.cnblogs.com/carry-huang/p/15222191.html
- 基于AngularJS的过滤与排序
- 【Spring实战】—— 5 设值注入
- 科学家预测:未来100万年人类将变成半机械人类
- 【Spring实战】—— 8 自动装配
- 【Spring实战】—— 7 复杂集合类型的注入
- 【Spring实战】—— 6 内部Bean
- 几款可替代Dreamweaver的HTML5开发工具
- Linux下的Telnet设置方法介绍
- 2017年11月互联网和相关服务业保持快速增长
- 深度学习胸部x射线
- C+实现神经网络之壹—Net类的设计和神经网络的初始化
- 死亡不可避免,但何时死,人工智能或有发言权
- 打开手机的这个功能,微信支付宝不怕盗刷!
- 手把手教你cuda5.5与VS2010的编译环境搭建
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 一个基于Laravel5的个人博客系统:Lablog搭建教程
- php快速导入大量数据的实例方法
- Laravel 模型关联基础教程详解
- yunBT:一个基于TP3.1的多用户BT离线下载程序,支持在线播放
- 使用Chihaya搭建一个可以屏蔽迅雷的Tracker
- [jio本]Debian9一键安装各种下载工具
- php实现QQ小程序发送模板消息功能
- 微软自家沙盒 Sandbox公布
- php DES加密算法实例分析
- php提供实现反射的方法和实例代码
- PHP实现批量修改文件名的方法示例
- Linux VPS快速下载Bilibili视频脚本 ,支持1080P/720P/360P等格式
- PHP递归统计系统中代码行数
- PHP切割整数工具类似微信红包金额分配的思路详解
- php写入文件不覆盖的实例讲解