spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring
本节主要内容:
1:通过代码演示实现零XML配置spring
2:使用重点注解理解
声明:
本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring.
在上一节《spring boot框架学习学前掌握之重要注解(1)-spring的java配置方式》我们把需要的环境搭建好了。那么本节,将通过代码演示,怎么零配置实现spring 注入。
1:通过代码演示实现零XML配置spring
一:项目结构:
请点击此处输入图片描述
user实体对象:
请点击此处输入图片描述
private String userName; private String password; private Integer age; |
dao层:
请点击此处输入图片描述
server层:
请点击此处输入图片描述
Java注解配置(重点类)
请点击此处输入图片描述
代码如下:
@Configuration //通过该注解来表明该类是一个spring的配置。其相当于是一个xml文件 @ComponentScan(basePackages="com.kaigejava.springboot.javaconfig") //@ComponentScan 该注解配置扫描的包 public class springConfig { @Bean //通过该注解来表明是一个bean对象。相当于是XML中的<bean> public UserDao getUserDao(){ return new UserDao(); } } |
测试类:
请点击此处输入图片描述
说明:
这里使用了:
AnnotationConfigApplicationContext context
= new AnnotationConfigApplicationContext(springConfig.class);
而非使用的:
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
运行结果:
请点击此处输入图片描述
我们看到已经和我们预期的结果一样。说明通过注解方式可以完全替代xml文件。
2:使用重点注解理解
2.1:@Configuration的理解:
如果需要理解这个的话,我们先回到spring 2.x时代。全部使用xml配置的伪代码如下:
请点击此处输入图片描述
@Configuration这个注解其实就是:
去掉被选中的部分。
2.2:@ComponentScan(basePackages="com.kaigejava.springboot.javaconfig")的理解
@ComponentScan该注解的功能和xml配置文件中的<context:component-scan >标签功能一样--组件扫描,扫描含有注解的类。
2.3:@bean的理解
先看下图:
XML配置时代怎么获取userDao呢?
如下图:
请点击此处输入图片描述
通过上下图对比。我们可以发现,@bean的注解其实和xml中<bean>节点功能一样。
本节总结:
本节通过代码实战,让我们学到:
1:大致了解到@Configuration、@ComponentScan()和@bean的使用
2:通过spring 2.x时代的xml配置和注解进行比较,更深入一步熟悉三个注解的使用
下节预告:
在下节课中,我们将要讲到另个一注解。先透露下这个注解的功能:
通过本注解,可以直接读取到外部配置文件的数据。
欢迎关注凯哥公众号:凯哥Java
欢迎访问凯哥个人网站:www.kaigejava.com
本文地址:http://www.kaigejava.com/article/detail/32
转载于:https://blog.51cto.com/kaigejava/1974484
spring boot框架学习学前掌握之重要注解(2)-通过java的配置方式进行配置spring相关推荐
- spring boot框架学习2-spring boot核心(1)
本节主要: 1:解析spring boot入口和@SpringBootApplication源码详解 SpringBootApplication包含: @SpringBootConfiguration ...
- Spring Boot 框架学习笔记(五)( SpringSecurity安全框架 )
Spring Boot 框架学习笔记(五) SpringSecurity安全框架 概述 作用 开发示例: 1. 新建项目 2. 引入依赖 3. 编写`SecurityConfig`类,实现认证,授权, ...
- Spring Boot 框架学习笔记(二)(配置文件与数据注入 yaml基本语法 JSR303数据验证 多环境切换 )
Spring Boot 框架学习笔记(二) 六.appliaction.properties配置与数据注入 6.1 `@Value`注解 测试注入数据 读取输入流 6.2 读取配置文件数据注入 单文件 ...
- Spring Boot框架学习 - 自定义 MessageConverter实例
一.自定义 MessageConverter 本篇主要通过实例进行演示,不涉及更底层的细节. 首先,自定义一个 MessageConverter 去处理想要自定义处理的媒体类型,application ...
- spring boot 打包成二进制可以直接执行的jar , 非java -jar 启动方式
spring 打包成jar后可以直接使用java -jar xxx.jar 直接启动.但是还想进一步简化,直接用./xxx.jar 可以注册成系统命令的方式改如何配置呢,其实很简单. pom.xml ...
- Spring Boot框架中使用Jackson的处理总结
1.前言 通常我们在使用Spring Boot框架时,如果没有特别指定接口的序列化类型,则会使用Spring Boot框架默认集成的Jackson框架进行处理,通过Jackson框架将服务端响应的数据 ...
- 详解Spring Boot框架中的@Conditional系列注解
目录 1. @Conditional 注解 2. Spring boot 扩展 1) @ConditionalOnClass和@ConditionalOnMissingClass注解 2) @Cond ...
- spring boot 学习(二)spring boot 框架整合 thymeleaf
spring boot 框架整合 thymeleaf spring boot 的官方文档中建议开发者使用模板引擎,避免使用 JSP.因为若一定要使用 JSP 将无法使用. 注意:本文主要参考学习了大神 ...
- idea启动springboot卡_写给新手看的 Spring Boot 入门学习指南
什么是 Spring Boot ? 解释一下:Spring Boot 可以构建一切.Spring Boot 设计之初就是为了最少的配置,最快的速度来启动和运行 Spring 项目.Spring Boo ...
最新文章
- LunarPages空间500错误原因及解决办法
- 寻找最大的K个数,Top K问题的堆实现
- 【C】printf按8进制、10进制、16进制输出以及高位补0
- 在需要时开启Perl新特性
- LeetCode-208 Implement Trie (Prefix Tree)
- python数据库连接池_Python实现数据库连接池
- Linux项目第一次访问非常慢,后来很快的异常
- qml入门学习(五):alias
- 复制字符串 _strdup _wcsdup _mbsdup
- 一名 40 岁“老”程序员的反思
- Java多线程笔记(刘意day23、24)
- Cmder的安装与配置
- gtp java 文件传输_GitHub - zhmgczh/GTPService: 围棋GTP协议应用实例(一个自动对弈程序,命令行交互或命令行与GUI对弈)...
- IntelliJ IDEA 12.0搭建Maven Web SSH2架构项目示例(二)
- Python初级双层for循环嵌套求素数合数和循环打印**
- 上海拍照攻略,让你的朋友圈与众不同
- 想进Google,先来做做Google招聘题
- matlab r2020b百度网盘下载链接及安装过程
- 合理使用DTO(Data Transfer Object)
- 3d游戏建模基础教程:3D建模应用领域和四种常用建模方法
热门文章
- WCF学习之旅—WCF寄宿前的准备(八)
- System.ArgumentException: 输入数组长度大于此表中的列数。
- 爬虫 - 豆瓣网《小王子》热评
- Java 集合框架 : Collection、Map
- Intellij IDEA设置忽略部分类编译错误
- Redhat 6.2安装Oracle 11gclient及遇到的问题分析
- Google Chrome Native Messaging开发实录(一)背景介绍
- .NET MD5加密解密代码
- 【黑金ZYNQ7000系列原创视频教程】06.ZYNQ来自FPGA的中断——按键中断实验
- 引用dll动态库,动态库中弹出对话框输入,将输入参数,作为变量继续调用。...