本节主要内容:
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
相关推荐
spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决...
2. **自动配置**:Spring Boot的自动配置是通过`@EnableAutoConfiguration`注解实现的。源码中,每个自动配置类都位于`spring-boot-autoconfigure`模块下,它们根据应用的依赖来决定是否激活相应的配置。例如,如果...
根据文件的标题和描述,我们对 Spring Boot 的基本概念、应用创建、重要特性、集成方式以及最佳实践等方面进行了详细介绍。Spring Boot 不仅简化了 Spring 应用的开发和配置,还通过提供大量的 Starters 和自动配置...
在`spring-boot-2.6.14`目录下,你可能找到诸如`src/main/java`和`src/main/resources`这样的源码和资源文件夹,它们分别存储Java源代码和资源配置。此外,还有`pom.xml`或`build.gradle`文件,用于定义项目的构建和...
Spring Boot是Spring生态系统中的一个核心组件,它通过自动化配置、起步依赖和内嵌式Web服务器等功能,极大地简化了Java应用的开发。 在Spring Boot 3.0版本中,我们可以期待一系列更新和改进,包括性能提升、新...
本篇文章将围绕“spring-boot spring-security-oauth2 完整demo”这一主题,详细阐述这三个框架如何协同工作,以及如何通过类似微信的方式获取token并访问资源。 首先,Spring Boot是基于Spring框架的快速开发工具...
Spring Boot 是一个由 Pivotal 团队开发的框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。...通过学习和实践提供的示例代码,开发者可以更深入地理解并掌握 Spring Boot 的核心概念和功能。
在这个压缩包中,"spring-boot-2.7.17"可能包含的是源码仓库,包括Spring Boot框架的各个模块,如spring-boot-project、spring-boot-autoconfigure、spring-boot-starter-parent等。开发者可以通过阅读源码理解...
Spring4.x推荐使用Java配置,这也是Spring Boot所推荐的方式之一。Java配置主要包括三个核心注解:`@Configuration`、`@Bean` 和 `@ComponentScan`。 - `@Configuration`:作用于类上,表示这是一个配置类,可以视...
《Spring Boot参考指南》是Spring Boot开发者的重要参考资料,它详细阐述了Spring Boot框架的核心特性、配置方式、自动配置原理以及如何构建微服务应用等关键知识点。Spring Boot是Java开发领域中一个极其流行的轻量...
- **配置插件**:通过添加`spring-boot-maven-plugin`插件,可以方便地打包项目为可执行的JAR或WAR文件。 ```xml <groupId>org.springframework.boot <artifactId>spring-boot-maven-plugin ``` #...
9. **定时任务**:"spring-boot-sample-task"演示了Spring Boot中如何配置和执行定时任务,包括使用@Scheduled注解。 通过这些示例,开发者可以了解Spring Boot在实际开发中的应用方式,从基础到高级,从简单到复杂...
2. **添加依赖**:在Maven或Gradle的配置文件中,添加所需的Starters,比如`spring-boot-starter-web`和`spring-boot-starter-data-jpa`等,来引入Web和数据库访问功能。 3. **编写主类**:创建一个包含`@...
《Spring Boot实战派》源码提供了丰富的学习材料,旨在帮助开发者深入理解并熟练掌握Spring Boot这一流行的Java后端开发框架。Spring Boot简化了Spring应用程序的初始设置和配置,使得开发人员能够快速构建可运行的...
在"spring-boot-demo"这个项目中,我们可以学习到Spring Boot如何简化Web应用、数据访问、配置管理等多个方面的开发流程。 首先,让我们深入了解一下Spring Boot的核心特性。Spring Boot通过自动配置和起步依赖...
Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在简化Spring 应用程序的初始搭建以及开发过程。它提供了一个“开箱即用”的体验,允许开发者快速地创建独立运行的、生产级别的基于Spring的应用。这个框架的...
*简化配置文件的编写:Spring-Boot框架使用Java配置的代码,不需要编写XML配置文件,简化了配置文件的编写。 *自动依赖管理:Spring-Boot框架自动管理依赖,简化了依赖的管理。 *快速搭建项目:Spring-Boot框架提供...
通过`spring-boot-starter-data-jpa`,开发者可以快速集成JPA并使用Hibernatet进行ORM操作。在源码中,相关的配置和初始化逻辑位于`org.springframework.boot.autoconfigure.data`包下。 对于测试,Spring Boot提供...
通过以上内容,我们可以了解到 Spring Boot 如何通过 Java 配置进行应用程序的构建。这种方式使得我们的代码更加简洁,更易于理解和维护。在实际开发中,我们还可以结合 Spring Boot 的其他特性,如 Actuator(健康...
在实际项目中,可以通过配置MyBatis的缓存机制、使用PageHelper进行分页、优化SQL语句等方式提升性能。 总之,"spring-boot-starter-mybatis-spring-boot-1.0.2.zip"压缩包提供了一个方便的Spring Boot与MyBatis...