广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java Spring的使用注解开发详解
  • 760
分享到

Java Spring的使用注解开发详解

2024-04-02 19:04:59 760人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录使用注解开发1.bean2.属性如何注入3.衍生的注解4.自动装配5.作用域6.小结代码show1.新建一个模块:2.新建pojo包及类3.新建dao包及类4.新建service

使用注解开发

spring4之后,要使用注解开发,必须要保证aop的包导入了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rE1i3tOz-1641624679925)(D:\study\学习笔记\spring学习\8、使用注解开发.assets\image-20220107085151943.png)]

使用注解需要导入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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">
    <!--开启注解的支持-->
    <context:annotation-config/>
</beans>

1.bean

2.属性如何注入

//等价于<bean id="user" class="com.Gongyi.pojo.User"/>
//@Component组件
@Component
public class User {
    // 相当于<property name="name" value="gongyi"/>
    @Value("gongyi")
    public String name;
    //@Value("muzi")
    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 {
    // 相当于<property name="name" value="gongyi"/>
    @Value("gongyi")
    public String name;
    //@Value("muzi")
    public void setName(String name) {
        this.name = name;
    }
}

6.小结

xml与注解:

  • xml更加万能,适用于任何场合,维护简单方便
  • 注解 不是自己类使用不了(比如DataSource类),维护相对复杂

xml与注解最佳实践:

  • xml用来管理bean
  • 注解只负责完成属性的注入
  • 我们在使用的过程中,只需要注意一个问题:必须让注解生效,就需要开启注解的支持
<!--指定要扫描的包,这个包下的注解就会生效-->
<context:component-scan base-package="com.gongyi"/>
<!--开启注解的支持-->
<context:annotation-config/>

代码show

代码结构图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3WibwIdo-1641624679928)(D:\study\学习笔记\spring学习\8、使用注解开发.assets\image-20220108144943769.png)]

1.新建一个模块:

spring-06-anno

2.新建pojo包及类

//等价于<bean id="user" class="com.gongyi.pojo.User"/>
//@Component组件
@Component
@Scope("singleton")
public class User {
    // 相当于<property name="name" value="gongyi"/>
    @Value("gongyi")
    public String name;
    //@Value("muzi")
    public void setName(String name) {
        this.name = name;
    }
}

3.新建dao包及类

@Repository
public class UserDao {
}

4.新建service包及类

@Service
public class UserService {
}

5.新建controller包及类

@Controller
public class UserController {
}

6.新建配置文件applicationContext.xml

<?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/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        https://www.springframework.org/schema/context/spring-context.xsd">
    <!--指定要扫描的包,这个包下的注解就会生效-->
    <context:component-scan base-package="com.gongyi"/>
    <!--开启注解的支持-->
    <context:annotation-config/>
</beans>

7.测试

public class MyTest {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) context.getBean("user");
        System.out.println(user.name);
    }
}

彩蛋

1.被spring托管的类在idea中的显示

1)未被托管前

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2CnadC1S-1641624679929)(D:\study\学习笔记\spring学习\8、使用注解开发.assets\image-20220107090929568.png)]

2)配置托管

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kPZyzULu-1641624679931)(D:\study\学习笔记\spring学习\8、使用注解开发.assets\image-20220107090946348.png)]

3)托管后

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wyf5xD9A-1641624679931)(D:\study\学习笔记\spring学习\8、使用注解开发.assets\image-20220107090959306.png)]

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Java Spring的使用注解开发详解

本文链接: https://www.lsjlt.com/news/162409.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java Spring的使用注解开发详解
    目录使用注解开发1.bean2.属性如何注入3.衍生的注解4.自动装配5.作用域6.小结代码show1.新建一个模块:2.新建pojo包及类3.新建dao包及类4.新建service...
    99+
    2022-11-12
  • Java之Spring注解开发案例详解
    在Spring4之后,要使用注解开发,必须要保证aop的包导入了 使用注解需要导入context约束,增加注解的支持! <?xml ver...
    99+
    2022-11-12
  • 详解spring如何使用注解开发
    在Spring4之后,要使用注解开发,必须要保证aop的包导入了。 使用注解需要导入context约束,增加注解的支持。 <?xml version="1.0" ...
    99+
    2022-11-12
  • Spring详解使用注解开发流程
    目录在Spring4之后 要使用注解开发 必须保证aop包导入了 使用注解需要导入context约束 增加 注解的支持 <xml version="1.0" encoding...
    99+
    2022-11-13
  • Spring超详细讲解注解开发
    目录1.使用注解开发1.1.Bean的实现1.2.属性注入1.3.衍生注解1.4.自动装配注解1.5.作用域1.6.小结2.基于Java类进行配置1.使用注解开发 说明 在sprin...
    99+
    2022-11-13
    Spring 注解开发 Spring 注解使用
  • Spring使用注解开发的方法
    这篇文章主要介绍了Spring使用注解开发的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring使用注解开发的方法文章都会有所收获,下面我们一起来看看吧。在Spring4之后 要使用注解开发 必须保证...
    99+
    2023-06-30
  • 如何使用注解开发spring
    本篇文章为大家展示了如何使用注解开发spring,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在Spring4之后,要使用注解开发,必须要保证aop的包导入了。使用注解需要导入context约束,增...
    99+
    2023-06-15
  • Spring框架基于注解开发CRUD详解
    Spring框架基于注解开发CRUD,供大家参考,具体内容如下 1. Maven坐标 <!-- https://mvnrepository.com/artifact/org.s...
    99+
    2022-11-13
  • Spring入门到精通之注解开发详解
    目录Spring原始注解DI 依赖注入的注解实现方式Spring新注解@Configuration @ComponentScan @Import@PropertySource @va...
    99+
    2022-11-13
  • Java Spring框架的注解式开发你了解吗
    目录1. Spring框架的注解式开发1.1 开启注解扫描配置1.2 实例化相关注解1.3 控制对象的创建次数的注解1.4 注入相关的注解1.5 控制事务的相关注解总结1. Spri...
    99+
    2022-11-13
  • 带你详细了解Spring Security的注解方式开发
    目录默认情况下,不会开启注解,如果想用注解,需要开启注解支持。总结默认情况下,不会开启注解,如果想用注解,需要开启注解支持。 在启动类上开启: @EnableGlobalMethod...
    99+
    2022-11-12
  • 详解Spring中的@PropertySource注解使用
    @PropertySource注解是Spring用于加载配置文件,默认支持.properties与.xml两种配置文件。@PropertySource属性如下: name:...
    99+
    2022-11-12
  • 详解Spring中Lookup注解的使用
    我们知道在spring容器中单独的一个抽象类是不能成为一个bean的,那么有没有办法呢?这个时候我们可以使用Lookup注解,我们可以看下spring的扫描bean部分逻辑。我们知道...
    99+
    2022-11-12
  • 详解Spring注解驱动开发之属性赋值
    一、@Value注解 在Person的属性上使用@Value注解指定注入值 public class Person { @Value("#{20-2}") ...
    99+
    2022-11-12
  • Spring之Scope注解使用详解
    在当前版本的 Spring 和 Spring Boot 程序中,支持五种 Scope singleton,容器启动时创建(未设置延迟),容器关闭时销毁prototype,每次使用时创...
    99+
    2023-02-07
    Spring Scope注解 Spring Scope
  • Spring注解之@validated使用详解
    目录Spring注解之@validated使用概念注解源码:使用(在controller中使用)PS:spring@Validated校验用法1、controller添加注解2、参数...
    99+
    2023-01-09
    Spring注解@validated使用 Spring @validated注解
  • Spring@Cacheable注解中key的使用详解
    目录Spring@Cacheable注解中key使用下面是几个使用参数作为key的示例condition属性指定发生的条件@CachePut@CacheEvictallEntries...
    99+
    2022-11-12
  • 详解使用Spring Boot开发Restful程序
    一、简介Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发...
    99+
    2023-05-31
    spring boot restful
  • Java Spring详解如何配置数据源注解开发以及整合Junit
    目录Spring数据源的配置数据源(连接池)的作用数据源的开发步骤手动创建数据源Spring注解开发Spring原始注解Spring新注解Spring整合JunitSpring集成J...
    99+
    2022-11-12
  • 详解Java如何使用注解来配置Spring容器
    目录介绍@Bean and @ConfigurationAnnotationConfigApplicationContext实例化容器通过使用 register(Class...) ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作