马上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());  // 小钱
}
目录
相关文章
|
1月前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
50 0
|
4天前
|
XML JSON Java
Spring Boot 开发中常见的错误
本文总结了 Java 开发中常见的几个问题及其改进方法,包括:1. 过度使用 `@Component` 注解;2. `@ResponseBody` 注解的错误用法;3. `@Autowired` 的不当使用;4. `application.properties` 管理不善;5. 异常处理不当。每部分详细解释了错误情况和建议的改进方案,并提供了相应的代码示例。
34 11
|
5天前
|
IDE Java 测试技术
互联网应用主流框架整合之Spring Boot开发
通过本文的介绍,我们详细探讨了Spring Boot开发的核心概念和实践方法,包括项目结构、数据访问层、服务层、控制层、配置管理、单元测试以及部署与运行。Spring Boot通过简化配置和强大的生态系统,使得互联网应用的开发更加高效和可靠。希望本文能够帮助开发者快速掌握Spring Boot,并在实际项目中灵活应用。
24 5
|
3天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
23天前
|
前端开发 Java Spring
Spring MVC核心:深入理解@RequestMapping注解
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的核心,它将HTTP请求映射到控制器的处理方法上。本文将深入探讨`@RequestMapping`注解的各个方面,包括其注解的使用方法、如何与Spring MVC的其他组件协同工作,以及在实际开发中的应用案例。
36 4
|
1月前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
61 4
SpringBoot必须掌握的常用注解!
|
23天前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
68 2
|
23天前
|
前端开发 Java Spring
探索Spring MVC:@Controller注解的全面解析
在Spring MVC框架中,`@Controller`注解是构建Web应用程序的基石之一。它不仅简化了控制器的定义,还提供了一种优雅的方式来处理HTTP请求。本文将全面解析`@Controller`注解,包括其定义、用法、以及在Spring MVC中的作用。
40 2
|
23天前
|
前端开发 JavaScript Java
如何使用 Spring Boot 和 Angular 开发全栈应用程序:全面指南
如何使用 Spring Boot 和 Angular 开发全栈应用程序:全面指南
32 1
|
26天前
|
消息中间件 Java 数据库
解密Spring Boot:深入理解条件装配与条件注解
Spring Boot中的条件装配与条件注解提供了强大的工具,使得应用程序可以根据不同的条件动态装配Bean,从而实现灵活的配置和管理。通过合理使用这些条件注解,开发者可以根据实际需求动态调整应用的行为,提升代码的可维护性和可扩展性。希望本文能够帮助你深入理解Spring Boot中的条件装配与条件注解,在实际开发中更好地应用这些功能。
31 2
下一篇
DataWorks