Spring Boot 2.0 教程

  • Spring Boot 入门教程 一、Spring Boot 是什么 以下截图自 Spring Boot 官方文档: 翻译整理一下,内容如下: Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松...
    • 1年前
  • Spring Boot Starter Parent 什么是 Spring Boot Starter Parent ? 通过 Spring Boot Starter Parent, 我们可以进行简单便捷地包依赖管理。在 Spring Boot 每...
    • 1年前
  • Spring Boot 热部署 相信小伙伴们在日常的开发中,调试代码时,免不了经常修改代码,这个时候,为了验证效果,必须要重启 Spring Boot 应用。 频繁地重启应用,导致开发效率降低,加班随之而来。有没有什么办法,能让 Spring B...
    • 1年前
  • 欢迎关注博主公众号「java大师」, 回复【dsblog】获取源码 一、效果图展示 一、网站前台 1、首页 2、内容页 3、最新文章页面 二、网站后台 1、登录页 2、首页 3、栏目管理 4、文章管理 三、后端(swa...
    • 1月前
  • springboot上传头像 @Controller @RequestMapping("/upload") public class UploadController { private Logger logger = LoggerFactory...
    • 2月前
  • springboot处理blog字段 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章https://www.javaman.cn/ 1、数据库表结构 其中content为longblob字段,代表存入的内容 CREA...
    • 3月前
  • 手撸一个springsecurity,了解一下security原理 今天手撸一个简易版本的springsecurity,带大家理解下springsecurity的原理: 安全框架的两个特点就是认证和授权,让我们来通过代码了解下认证和授权的处理方式...
    • 5月前
  • SpringBoot2.0之@Configuration注解 前面我们介绍了Spring boot2.0的启动和第一个helloworld实例,今天我们来讲解一下springboot2.0比较关键的注解@Configuration 在讲解@C...
    • 1年前
  • Spring Boot 配置 log4j2 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www.exception.si...
    • 1年前
Configuration注解 - idea激活- IntelliJ IDEA 2021.1激活码破解教程(亲测激活至 2099 年,长期更新)- 爪哇男教程  

SpringBoot2.0之@Configuration注解

前面我们介绍了Spring boot2.0的启动和第一个helloworld实例,今天我们来讲解一下springboot2.0比较关键的注解@Configuration

在讲解@Configuration这个注解之前我们首先说一个实例

我们有一个User的bean和一个Dog的bean

  • 现在我们通过原始的spring的方式去管理这两个bean
  1. 通过配置文件beans.xml配置user和dog的bean

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <bean id="user01" class="com.dashi.bean.User">
        <property name="name" value="zhangsan"/>
        <property name="age" value="18"/>
    </bean>
    
    <bean id="dog01" class="com.dashi.bean.Pet">
        <property name="name" value="哈利"/>
    </bean>
    
    </beans>
    
  2. 创建ApplicationContext获取user bean

    /**
             * spring方式通过getbean
             /*
             public static void main(String[] args) {
             ApplicationContext ac = new FileSystemXmlApplicationContext("classpath:beans.xml");
             User user01 = (User) ac.getBean("user01");
             }现在我们通过原始的spring的方式去管理这两个bean**
    
  • 接下来我们通过spring boot的@Configuration注解来实现bean的管理

    1. 创建配置类MyConfig(该名称可以自定义),该类通过@Configuration注解

      通过@Configuration注解的类就相当于spring的beans.xml文件,通过@Bean注解的方法即为一个个的bean。bean中的属性即为spring中的property属性

      /**
       * 相当于spring中的bean.xml的<bean id="user01"></bean>
       */
      @Configuration
      public class Myconfig {
      
          //方法的名称就是spring bean中的bean id 该方法为”user01“,属性为property
          @Bean
          public User user01(){
              return new User("zhangsan",18);
          }
      
          //方法的名称就是spring bean中的bean id 该方法为”dogPet“ 属性为property
          @Bean
          public Pet dogPet(){
              return new Pet("tom");
          }
      }
      
    2. 得到user和Pet的实体类

      @SpringBootApplication
      public class MainApplication {
          public static void main(String[] args) {
              //SpringApplication.run(MainApplication.class);
              ConfigurableApplicationContext run = SpringApplication.run(MainApplication.class);
      //        String[] names = run.getBeanDefinitionNames();
      //        for(String name:names){
      //            System.out.println(name);
      //        }
      
              User user01 = run.getBean("user01", User.class);
              System.out.println(user01.getName());
              Pet dogPet = run.getBean("dogPet", Pet.class);
              System.out.println(dogPet.getName());
      
          }
      }
      
    3. 运行结果如下:

        .   ____          _            __ _ _
       /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
      ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
       \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
        '  |____| .__|_| |_|_| |_\__, | / / / /
       =========|_|==============|___/=/_/_/_/
       :: Spring Boot ::        (v2.0.6.RELEASE)
      
      2021-05-09 10:45:08.692  INFO 15880 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
      2021-05-09 10:45:08.692  INFO 15880 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
      2021-05-09 10:45:09.136  INFO 15880 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
      2021-05-09 10:45:09.758  INFO 15880 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8888 (http) with context path ''
      2021-05-09 10:45:09.786  INFO 15880 --- [           main] com.dashi.MainApplication                : Started MainApplication in 4.501 seconds (JVM running for 7.13)
      
      zhangsan
      tom
      
      

最后

通过以上说明@Configuration使用SpringBoot的方式去创建一个Bean,以代替传统通过xml的方式声明Bean,简便了beans.xml的配置,具有实际的试用意义


全部评论: 0

    我有话说: