Spring的自动装配及注解开发(“最易懂得Spring学习”)(三)

简介: 八、使用注解开发1. bean2.属性如何注入3.衍生的注解4. 自动装配5.作用域6.小结

八、使用注解开发


在Spring4之后,要使用注解开发,要保证aop的包导入了。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc/artifactId>
    <version>5.3.9</version>
</dependency>

使用注解要导入context约束;增加注解的支持。


<?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"
       xmlns:aop="http://www.springframework.org/schema/aop"
       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
        http://www.springframework.org/schema/aop
        https://www.springframework.org/schema/aop/spring-aop.xsd">
    <!--开启自动注解的支持-->
    <context:annotation-config/>
</beans>

1. bean

// 等价于   <bean id="user" class="com.hxl.pojo.User"/>
//@Component 组件放在类上,说明这个类被Spring管理了,这就是bean
@Component
public class User {
    public String name = "王木木";
}

2.属性如何注入

// 等价于   <bean id="user" class="com.hxl.pojo.User"/>
//@Component 组件
@Component
public class User {
    //简单的可以用这个,复杂的还是用配置好
    //相当于<property name="name" value="王木木"/>
    //注解在set方法上也是可以的
    @Value("王木木")
    public String name;
    public void setName(String name) {
        this.name = name;
    }
}

3.衍生的注解


@Component 有几个衍生注解,我们在web开发中,我们会按照mvc三层架构分层。


  • dao【@Repository】


  • service【@Service】


  • controller【@Controller】


这四个注解功能是一样的,都是代表将某个类注册到Spring中,装配到Bean


4. 自动装配


  • @Autowired:自动装配通过类型,名字。如果Autowired不能唯一自动装配上属性,则需要通过@Qualifier(value=“xxx”)


  • @Nullable:字段标记了这个注解,说明这个字段可以为null


  • @Resource:自动装配通过名字,类型


5.作用域


单例模式,原型模式。

@Component
//这个就是单例模式
@Scope("singleton")
public class User {
    @Value("王木木")
    public String name;
    public void setName(String name) {
        this.name = name;
    }

6.小结


  • xml与注解


  • xml更加万能,适用于任何场合,维护简单方便


  • 注解:不是自己类使用不了,维护相对复杂。


  • 最佳实践


  • xml用来管理bean


  • 注解只负责完成属性的注入


  • 我们在使用的过程中,只需要注意:必须让注解生效,就需要开启注解的支持。


<!--指定要扫描的包,这个包下的注解就会生效-->
<context:component-scan base-package="com.hxl.pojo"/>
<!--开启自动注解的支持-->
<context:annotation-config/>


相关文章
|
14天前
|
XML Java 测试技术
Spring IOC—基于注解配置和管理Bean 万字详解(通俗易懂)
Spring 第三节 IOC——基于注解配置和管理Bean 万字详解!
96 26
|
17天前
|
缓存 Java 数据库
SpringBoot缓存注解使用
Spring Boot 提供了一套方便的缓存注解,用于简化缓存管理。通过 `@Cacheable`、`@CachePut`、`@CacheEvict` 和 `@Caching` 等注解,开发者可以轻松地实现方法级别的缓存操作,从而提升应用的性能和响应速度。合理使用这些注解可以大大减少数据库的访问频率,优化系统性能。
163 89
|
2月前
|
Java Spring
【Spring】方法注解@Bean,配置类扫描路径
@Bean方法注解,如何在同一个类下面定义多个Bean对象,配置扫描路径
181 73
|
4天前
|
监控 Java Spring
SpringBoot:SpringBoot通过注解监测Controller接口
本文详细介绍了如何通过Spring Boot注解监测Controller接口,包括自定义注解、AOP切面的创建和使用以及具体的示例代码。通过这种方式,可以方便地在Controller方法执行前后添加日志记录、性能监控和异常处理逻辑,而无需修改方法本身的代码。这种方法不仅提高了代码的可维护性,还增强了系统的监控能力。希望本文能帮助您更好地理解和应用Spring Boot中的注解监测技术。
33 16
|
21天前
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
42 6
|
2月前
|
Java Spring 容器
【SpringFramework】Spring IoC-基于注解的实现
本文主要记录基于Spring注解实现IoC容器和DI相关知识。
60 21
|
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
【Spring】获取Bean对象需要哪些注解
@Conntroller,@Service,@Repository,@Component,@Configuration,关于Bean对象的五个常用注解
|
9月前
|
Java API Spring
Spring容器如何使用一个注解来指定一个类型为配置类型
Spring容器如何使用一个注解来指定一个类型为配置类型
78 0