马上2023年了,你还不会使用Spring注解开发吗?

简介: 1.导入bean首先,Spring xml配置文件,扫描指定包下面的注解,使注解生效:


1.导入bean


首先,Spring xml配置文件,扫描指定包下面的注解,使注解生效:


<context:component-scan base-package="top.imustctf.pojo"/>
<!-- 导入注解的支持 -->
<context:annotation-config/>


在对应包下面建实体类,加入@Component注解,可以自动导入bean


@Component
public class Xiaoqian {
    public String name = "小钱";
}


现在来测试一下效果吧:


@Test
public void test() {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    Xiaoqian xiaoqian = context.getBean("xiaoqian", Xiaoqian.class);
    System.out.println(xiaoqian.name);  // 小钱
}


导入bean的同时注入属性:

要想导入bean的同时注入属性,在set方法或者属性上加入@Value注解即可:


@Component
public class Xiaoqian {
    public String name;
    public String getName() {
        return name;
    }
    @Value("小钱")
    public void setName(String name) {
        this.name = name;
    }
}


2.衍生注解


@Component有几个衍生注解,可以自动导入bean,不过分层的注解会使代码整体逻辑更加清晰

提供MVC三层架构的直接扫描方法注解,具体如下:


service层:


@Service
public class UserService {
}


dao层:


@Repository
public class UserDao {
}


controller层:


@Controller
public class UserController {
}


3.作用域,设计模式注解


如果想要对某个类指定特定的设计模式,可以直接使用Spring@Scope注解实现,例如,我们想要指定该类实现一个单例模式:


@Component
@Scope("singleton")
public class Xiaoqian {
    public String name;
    public String getName() {
        return name;
    }
    @Value("小钱")
    public void setName(String name) {
        this.name = name;
    }
}


4.XML - JAVA的完全转化


通过Spring的注解驱动类,我们可以完全的不使用XML文件进行Spring项目开发

以下是一个实例:

先定义一个熟悉的pojo类:(使用注解将此pojo类注册到Spring容器中)


@Component
@Scope("singleton")
public class Xiaoqian {
    public String name;
    public String getName() {
        return name;
    }
    @Value("小钱")
    public void setName(String name) {
        this.name = name;
    }
}


开发注解驱动类:(使用@Configuration注解标注)

待托管的类使用@Bean标注,这个方法的名字相当于原来bean标签中的ID,方法的返回值相当于class


@Configuration
public class DaheConfig {
    @Bean
    public Xiaoqian getXiaoqian() {
        return new Xiaoqian();
    }
}


现在来愉快的进行测试吧:


@Test
public void test() {
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DaheConfig.class);
    Xiaoqian getXiaoqian = (Xiaoqian) context.getBean("getXiaoqian");
    System.out.println(getXiaoqian.getName());  // 小钱
}
目录
相关文章
|
20天前
|
Java 开发者 Spring
【SpringBoot 异步魔法】@Async 注解:揭秘 SpringBoot 中异步方法的终极奥秘!
【8月更文挑战第25天】异步编程对于提升软件应用的性能至关重要,尤其是在高并发环境下。Spring Boot 通过 `@Async` 注解简化了异步方法的实现。本文详细介绍了 `@Async` 的基本用法及配置步骤,并提供了示例代码展示如何在 Spring Boot 项目中创建与管理异步任务,包括自定义线程池、使用 `CompletableFuture` 处理结果及异常情况,帮助开发者更好地理解和运用这一关键特性。
93 1
|
16天前
|
缓存 Java 数据库连接
Spring Boot奇迹时刻:@PostConstruct注解如何成为应用初始化的关键先生?
【8月更文挑战第29天】作为一名Java开发工程师,我一直对Spring Boot的便捷性和灵活性着迷。本文将深入探讨@PostConstruct注解在Spring Boot中的应用场景,展示其在资源加载、数据初始化及第三方库初始化等方面的作用。
42 0
|
1天前
|
Java 数据库连接 数据格式
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
IOC/DI配置管理DruidDataSource和properties、核心容器的创建、获取bean的方式、spring注解开发、注解开发管理第三方bean、Spring整合Mybatis和Junit
【Java笔记+踩坑】Spring基础2——IOC,DI注解开发、整合Mybatis,Junit
|
1天前
|
Java 数据库连接 Maven
Spring基础1——Spring(配置开发版),IOC和DI
spring介绍、入门案例、控制反转IOC、IOC容器、Bean、依赖注入DI
Spring基础1——Spring(配置开发版),IOC和DI
|
29天前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
8天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
32 2
|
10天前
|
NoSQL 前端开发 Java
使用 Spring Boot + Neo4j 实现知识图谱功能开发
在数据驱动的时代,知识图谱作为一种强大的信息组织方式,正逐渐在各个领域展现出其独特的价值。本文将围绕使用Spring Boot结合Neo4j图数据库来实现知识图谱功能开发的技术细节进行分享,帮助读者理解并掌握这一技术栈在实际项目中的应用。
66 4
|
12天前
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
70 6
|
12天前
|
IDE Java 开发工具
还在为繁琐的配置头疼吗?一文教你如何用 Spring Boot 快速启动,让开发效率飙升,从此告别加班——打造你的首个轻量级应用!
【9月更文挑战第2天】Spring Boot 是一款基于 Spring 框架的简化开发工具包,采用“约定优于配置”的原则,帮助开发者快速创建独立的生产级应用程序。本文将指导您完成首个 Spring Boot 项目的搭建过程,包括环境配置、项目初始化、添加依赖、编写控制器及运行应用。首先需确保 JDK 版本不低于 8,并安装支持 Spring Boot 的现代 IDE,如 IntelliJ IDEA 或 Eclipse。
50 5
|
23天前
|
IDE Java 开发工具
快速上手指南:如何用Spring Boot开启你的Java开发之旅?
【8月更文挑战第22天】Spring Boot由Pivotal团队开发,简化了Spring应用的创建过程。本文详述了从零开始搭建Spring Boot项目的步骤:首先确保安装了新版JDK、Maven/Gradle及IDE如IntelliJ IDEA或Eclipse;接着访问Spring Initializr网站(start.spring.io),选择所需依赖(如Web模块)并生成项目;最后,使用IDE打开生成的项目,添加`@SpringBootApplication`注解及main方法来启动应用。通过这些步骤,即便是新手也能快速上手,专注于业务逻辑的实现。
31 1