马上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());  // 小钱
}
目录
相关文章
|
6天前
|
监控 Java Spring
SpringBoot:SpringBoot通过注解监测Controller接口
本文详细介绍了如何通过Spring Boot注解监测Controller接口,包括自定义注解、AOP切面的创建和使用以及具体的示例代码。通过这种方式,可以方便地在Controller方法执行前后添加日志记录、性能监控和异常处理逻辑,而无需修改方法本身的代码。这种方法不仅提高了代码的可维护性,还增强了系统的监控能力。希望本文能帮助您更好地理解和应用Spring Boot中的注解监测技术。
34 16
|
16天前
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
104 26
|
19天前
|
缓存 Java 数据库
SpringBoot缓存注解使用
Spring Boot 提供了一套方便的缓存注解,用于简化缓存管理。通过 `@Cacheable`、`@CachePut`、`@CacheEvict` 和 `@Caching` 等注解,开发者可以轻松地实现方法级别的缓存操作,从而提升应用的性能和响应速度。合理使用这些注解可以大大减少数据库的访问频率,优化系统性能。
169 89
|
23天前
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
42 6
|
1月前
|
人工智能 Java API
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
本次分享的主题是阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手,由阿里云两位工程师分享。
阿里云工程师跟通义灵码结伴编程, 用Spring AI Alibaba来开发 AI 答疑助手
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
2月前
|
Java Spring 容器
【SpringFramework】Spring IoC-基于注解的实现
本文主要记录基于Spring注解实现IoC容器和DI相关知识。
62 21
|
2月前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
183 73
|
2月前
|
存储 Java Spring
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
2月前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。