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

Spring的注解开发-Bean基本注解开发

Bean基本注解开发

  • Spring除了xml配置文件进行配置之外,还可以使用注解方式进行配置,注解方式慢慢成为xml配置的替代方案。我们有了xml开发的经验,学习注解开发就会方便很多,注解开发更加快捷方便。
  • Spring提供的注解有三个版本
    • 2.0时代,Spring开始出现注解
    • 2.5时代,Spring的bean配置可以使用注解完成
    • 3.0时代,Spring其它配置也可以通过注解完成,我们进入全注解时代(SpringBoot)
  • 基本的Bean注解,主要是使用注解的方式替代原有的xml的<bean>标签及其标签属性的配置
  • 使用@Component注解替代<bean>标签
    • 被该注解标识的类,会在指定扫描范围内被Spring加载并实例化
  • 具体实例代码
    • 使用注解将目标类注册为bean对象
    • package com.example.DAO.Impl;import com.example.DAO.UserDAO;
      import org.springframework.stereotype.Component;@Component(value = "userDAO") // 设置bean对象的名称
      public class UserDAOImpl implements UserDAO {
      }
      
    • 在配置文件中设置注解组件扫描范围,识别@Component注解

    • <?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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="com.example.DAO"/>
      </beans>
      
    • 测试代码,获取bean对象

    • package com.example.Test;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestApplicationContext {public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");Object userDAO = context.getBean("userDAO");System.out.println(userDAO);}
      }
    • 运行结果如下

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

相关文章:

  • 【Ubuntu18.04】Autoware.ai安装
  • SpringMVC 学习(一)Servlet
  • 26943-2011 升降式高杆照明装置 课堂随笔
  • 洛谷题解 | AT_abc321_c Primes on Interval
  • Quartus医院病房呼叫系统病床呼叫Verilog,源代码下载
  • ip的标准分类---分类的Ip
  • 理解并掌握C#的Channel:从使用案例到源码解读(一)
  • 如何让git命令仅针对当前目录
  • 【0223】源码剖析smgr底层设计机制(3)
  • Visual Studio 2019 C# winform CefSharp 中播放视频及全屏播放
  • 天选之子Linux是如何发展起来的?为何对全球IT行业的影响如此之大?
  • MDK报错:Undefined symbol assert_failed报错解决策略
  • LLM - Make Causal Mask 构造因果关系掩码
  • Python函数式编程(一)概念和itertools
  • Guava限流器原理浅析
  • 第四十二章 持久对象和SQL - 用于创建持久类和表的选项
  • 集合-ArrayList源码分析(面试)
  • 跨类型文本文件,反序列化与类型转换的思考
  • ubuntu20安装nvidia驱动
  • gma 2 成书计划
  • 从零手搓一个【消息队列】项目设计、需求分析、模块划分、目录结构
  • 【Spring Cloud】深入探索 Nacos 注册中心的原理,服务的注册与发现,服务分层模型,负载均衡策略,微服务的权重设置,环境隔离
  • No156.精选前端面试题,享受每天的挑战和学习
  • 如何在PIL图像和PyTorch Tensor之间进行相互转换,使用pytorch进行PIL和tensor之间的数据转换
  • STM32F4X UCOSIII任务消息队列
  • 8个居家兼职,帮助自己在家搞副业
  • 管理与系统思维
  • 电死人的是电流还是电压?
  • mac 编译问题记录
  • centos 7.9同时安装JDK1.8和openjdk11两个版本