0


Spring注解开发 -- Spring快速入门保姆级教程(二)

文章目录


前言

为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客,方便日后回顾。当然,如果能帮到一些萌新进行新技术的学习那也是极好的。作者菜菜一枚,文章中如果有记录错误,欢迎读者朋友们批评指正。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)


三、注解开发

1.spring XML注解开发入门案例

(详细代码见个人主页资源spring源码respr_annonation模块)

  1. 在spring入门案例的代码基础上编码

在这里插入图片描述

  1. 在对应的类上添加@Component注解,并起别名(以bookDaoImpl为例)

(如果不起别名则在编写模拟测试类的时候要通过类型获取bean)

在这里插入图片描述

  1. 在核心配置文件中创建context命名空间并配置spring扫描范围

在这里插入图片描述

  1. 编写模拟测试类并运行

在这里插入图片描述

  1. 小结与拓展
  • spring注解开发步骤在这里插入图片描述
  • 拓展

在这里插入图片描述

2.spring 纯注解开发入门案例

  1. 基于注解的配置 从 Spring 2.5 开始就可以使用注解来配置依赖注入。而不是采用 XML 来描述一个 bean 连线,你可以使用相关类,方法或字段声明的注解,将 bean 配置移动到组件类本身。
  2. 创建config包和SpringConfig类,核心配置xml文件可以删除(此处在其文件命名后面加上.bak)
//声明当前类为Spring配置类@Configuration//设置bean扫描路径,多个路径书写为字符串数组格式@ComponentScan({"org.example.service","org.example.dao"})publicclassSpringConfig{}
  1. 新建模拟测试类AppForAnnotation及运行结果

(BookServiceImpl类上添加@Service注解[@Component的衍生注解])
在这里插入图片描述

  1. 小结
  • xml 和 纯注解 核心配置

在这里插入图片描述

  • xml 和 注解 获取bean容器方式在这里插入图片描述

3.注解开发bean的作用范围与生命周期

  1. bean的作用范围控制

在这里插入图片描述

  1. bean的生命周期控制

在这里插入图片描述

4.依赖注入

(详细代码见个人主页资源spring源码respr_annonation_di模块)

  1. 单个BookDao实现类按类型装配(@Autowired)

在这里插入图片描述

  1. 多个BookDao实现类指定装配名称(**@Autowire + @Qualifier**)

在这里插入图片描述

  1. 注入普通类型

在这里插入图片描述

  1. 注入properties文件属性

在这里插入图片描述
在这里插入图片描述

5.注解开发管理第三方bean

(详细代码见个人主页资源spring源码respr_respr_annotation_third_bean_manager模块)

  1. 导入第三方数据源坐标(以druid数据源举例)
<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.16</version></dependency>
  1. 定义一个方法获得要管理的对象,添加@Bean,表示当前方法的返回值是一个bean
@Configuration@ComponentScan("com.itheima")publicclassSpringConfig{@BeanpublicDataSourcedataSource(BookDao bookDao){System.out.println(bookDao);DruidDataSource ds =newDruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.driver");
        ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
        ds.setUsername("root");
        ds.setPassword("root");return ds;}}
  1. 模拟测试类APP编写及其运行结果

在这里插入图片描述

  1. 规范化后的文件结构

在这里插入图片描述

  • jdbc.Config
//@ConfigurationpublicclassJdbcConfig{@BeanpublicDataSourcedataSource(BookDao bookDao){System.out.println(bookDao);DruidDataSource ds =newDruidDataSource();
        ds.setDriverClassName("com.mysql.jdbc.driver");
        ds.setUrl("jdbc:mysql://localhost:3306/spring_db");
        ds.setUsername("root");
        ds.setPassword("root");return ds;}}
  • SpringConfig
@Configuration@ComponentScan("com.itheima")//@Import:导入配置信息@Import({JdbcConfig.class})publicclassSpringConfig{}
  1. 小结
  • 第三方bean管理 - 导入式

在这里插入图片描述

  • 第三方bean管理 - 扫描式

在这里插入图片描述

6.注解开发实现为第三方bean注入资源

  1. 注入普通类型 (成员变量)
//@ConfigurationpublicclassJdbcConfig{//1.定义一个方法获得要管理的对象@Value("com.mysql.jdbc.Driver")privateString driver;@Value("jdbc:mysql://localhost:3306/spring_db")privateString url;@Value("root")privateString userName;@Value("root")privateString password;//2.添加@Bean,表示当前方法的返回值是一个bean//@Bean修饰的方法,形参根据类型自动装配@BeanpublicDataSourcedataSource(){DruidDataSource ds =newDruidDataSource();
        ds.setDriverClassName(driver);
        ds.setUrl(url);
        ds.setUsername(userName);
        ds.setPassword(password);return ds;}}
  1. 注入引用类型

(引用类型注入只需要为bean定义方法设置形参即可,容器会根据类型自动装配对象)

在这里插入图片描述

7.注解开发总结

(xml配置对比注解开发)

在这里插入图片描述

总结

欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下。
(博客的参考源码可以在我主页的资源里找到,如果在学习的过程中有什么疑问欢迎大家在评论区向我提出)

标签: spring 后端 java

本文转载自: https://blog.csdn.net/HHX_01/article/details/130530916
版权归原作者 东离与糖宝 所有, 如有侵权,请联系我们删除。

“Spring注解开发 -- Spring快速入门保姆级教程(二)”的评论:

还没有评论