当前位置: 首页 > news >正文

spring注解的开端(@Component替代bean标签的使用)

目录

一、介绍

1.什么是注解开发?

2.Spring注解的版本

3.基于spring注解的应用

4. @Component的细分注解

5.相关注解

二、简单例子讲解

1.类打注解

2.扫描注解放入工厂

3.总工厂取注解调用

4.运行结果

总结:


一、介绍

1.什么是注解开发?

 Spring除了xml配置文件进行配置之外,还可以使用注解方式进行配置,注解方式慢慢替代xml配置。注解开发比xml文件配置要方便许多

2.Spring注解的版本

2.0时代:spring开始出现注解

2.5时代:spring的Bean配置可以使用注解完成

3.0时代:spring其他配置也可以使用注解完成,进入了全注解时代

3.基于spring注解的应用

主要是使用注解的方式代替原有的xml的<bean>标签及其标签属性的设置,使用@Component注解替代<bean>标签

 @Component:使用该注解的类,会在指定扫描范围内被spring加载并实例化(就是使用这个注解的类,会在spring的xml文件中被扫描到然后进行实例化)

ps:注解就像一个个标签,贴在类上面,统一交给spring的xml文件去管理,谁要获取就从xml的工厂里面去获取这个标签名字就好了。

4. @Component的细分注解

 由于Java EE开发是分层的,为了每层Bean标识的注解语义更加明确, @Component又延申出了如下的3个注解

@Repository:在Dao层类上使用

@Service:在service层类上使用

@Controller:在web层类上使用

5.相关注解

1.@Scope:在类上使用。标注bean的作用范围,取值为singleton或者prototype

2.@Lazy:在类上使用标注bean是否延迟加载,取值为true或者false

3.@PostConstruct:在方法上使用,标注bean的实例化后执行的方法

4.@PreDestroy:在方法上使用,标注bean的销毁前执行方法

二、简单例子讲解

准备工作:建好spring环境👇

快速入门使用spring详细步骤(介绍、导入依赖、第一个简单程序)_云边的快乐猫的博客-CSDN博客

正式开始👇

1.类打注解

即:建立一个类。然后给这个类打上标签(注解)-->@Component("自定义名称") 。要不然在很多类管理工厂(spring.xml)里面,怎么识别你是哪个类。

package com.spring6.demo;import org.springframework.stereotype.Component;//1.添加@Component注解,括号里面的是自定义名称,不过为了识别方便,最好和类名一样。ps:如果括号里面不配置名称,那么就默认为该类名的小写名称
@Component("Hello")
public class Hello {
}

2.扫描注解放入工厂

即:在类管理工厂(spring的xml)文件里面编写一个扫描组件去扫描这些类。

ps:xml文件的创建方法:在resources里使用快捷键alt+insert ,XML配置文件-->spring配置。

看不懂的可以看中文版本

<?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 https://www.springframework.org/schema/context/spring-context.xsd"><!--注解组件扫描:扫描指定的基本包以及其子包下的类,识别使用component的类--><context:component-scan base-package="com.spring6.demo"/>
</beans>

3.总工厂取注解调用

即:建立一个类去从工厂里面获取打了标签(注解)的类进行输出。

package com.spring6.demo;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TextHello {public static void main(String[] args) {//1.扫描spring管理工厂xml文件ClassPathXmlApplicationContext atx = new ClassPathXmlApplicationContext("spring6.xml");//2.从xml工厂里面根据注解名调用类Object H = atx.getBean("Hello");//3.打印输出System.out.println(H);}
}

4.运行结果

总结:

注解就是使用注解标签去替代在spring的bean标签里面的扫描id,class这些,因为原先xml这些每个类都要写上id,还要class的位置就很麻烦,现在直接使用注解在该类上面标上就省去了这些繁琐的步骤。不过还是要在xml文件里面配置组件包扫描。

http://www.lryc.cn/news/3810.html

相关文章:

  • Matlab傅里叶谱方法求解一维波动方程
  • py3中 collections.Counter()函数典型例题
  • Linux部署达梦数据库超详细教程
  • ctfshow 每周大挑战 极限命令执行
  • 使用vue3,vite,less,flask,python从零开始学习硅谷外卖(16-40集)
  • 坚持就是胜利
  • 代码中出现转置 pose (c2w,外参矩阵) 或者转置 intrinsic (内参)矩阵的原因
  • 2023 年腾讯云服务器配置价格表出炉(2核2G/2核4G/4核8G/8核16G、16核32G)
  • 相机出图画面一半清晰,一半模糊的原因是什么?
  • Rust学习入门--【4】Rust 输出到命令行
  • Vector刷写方案—vFlash工具介绍
  • 【阶段总结】《非结构化信息分析应用与实践(筹)》
  • 七大设计原则之迪米特法则应用
  • curl命令用法精简整理
  • Fluent Python 笔记 第 5 章 一等函数
  • 卡尔曼滤波器与DSP实现
  • 引入QQ邮箱发送验证码进行安全校验
  • 【c++】数组
  • 线程池的简单实现:Java线程池初学者必读指南
  • 【C#】[带格式的字符串] 复合格式设置字符串与使用 $ 的字符串内插 | 如何格式化输出字符串
  • Lecture4 反向传播(Back Propagation)
  • Power BI 筛选器函数---Window实例详解
  • 基础篇—如何创建css样式表,并集成到html文件中?
  • WindowsServer服务器系列:部署FTP文件服务
  • 华为OD机试 - 数字加减游戏(Python)| 真题+思路+代码
  • 【c/c++】c语言的自增操作在不同编译器的差别
  • 【LeetCode第 332 场周赛】
  • 【蓝桥杯单片机】Keil5中怎么添加STC头文件;从烧录软件中添加显示添加成功后新建工程时依旧找不到
  • 图解浏览器渲染页面详细过程
  • 多线程面试题开胃菜1(5道)