zoukankan      html  css  js  c++  java
  • SpringBoot框架(1)入门篇

     什么是SpringBoot?

      Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

    特征

    • 创建独立的Spring应用程序

    • 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)

    • 提供固定的“入门”依赖项以简化构建配置

    • 尽可能自动配置Spring和第三方库

    • 提供生产就绪功能,例如指标,运行状况检查和外部化配置

    • 绝对没有代码生成,也不需要XML配置

     快速入门

    (1)新建空项目New Project

    ==》命名项目名称,并选择要保存的目录

    剩余步骤默认不用更改,直接ok即可。到此空白项目创建完成。

    接下来在空白项目上建立模块(module)

    (2)创建模块

     

    ==》创建modules --> Maven --> 选择SDK --> Create from archetype --> org.apache.maven.archetypes

     

    ==>命名GroupId,ArtifactId

    ==》配置仓库

    ==》命名模块名字,最终完成模块的创建

    注:创建时,屏幕右下角提示如下,选择Enable Auto-Import即可

    到此。模块创建完成

    (3)配置项目配置文件(pom.xml)

    1 <parent>
    2     <groupId>org.springframework.boot</groupId>
    3     <artifactId>spring-boot-starter-parent</artifactId>
    4     <version>2.1.5.RELEASE</version>
    5 </parent>
    1 <dependency>
    2     <groupId>org.springframework.boot</groupId>
    3     <artifactId>spring-boot-starter-web</artifactId>
    4 </dependency>

    (4)提供应用程序入口

     1 package com.demo.boot;
     2 
     3 import org.springframework.boot.SpringApplication;
     4 import org.springframework.boot.autoconfigure.SpringBootApplication;
     5 import org.springframework.context.ConfigurableApplicationContext;
     6 
     7 /**
     8  * Hello world!
     9  */
    10 @SpringBootApplication
    11 public class App {
    12     public static void main(String[] args) {
    13         ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
    14     }
    15 }

     (5)类的管理调用

    ==》pom.xml文件 添加类的依赖 spring-context和pring-boot-starter-web

     1    <dependencies>
     2         <dependency>
     3             <groupId>org.springframework</groupId>
     4             <artifactId>spring-context</artifactId>
     5             <version>5.1.7.RELEASE</version>
     6         </dependency>
     7 
     8         <dependency>
     9             <groupId>org.springframework.boot</groupId>
    10             <artifactId>spring-boot-starter-web</artifactId>
    11         </dependency>
    12     </dependencies>

    ==》创建类User.java

     1 package com.demo.boot;
     2 
     3 import org.springframework.stereotype.Component;
     4 
     5 /**
     6  * 使用@Component管理类
     7  */
     8 @Component//别名 -->默认为类名首字母小写
     9 public class User {
    10 
    11     @Override
    12     public String toString() {
    13         return "com.demo.boot.User:" + super.toString();
    14     }
    15 }

    ==>创建UserConfig类

     1 package com.demo.boot;
     2 
     3 import org.springframework.boot.SpringBootConfiguration;
     4 import org.springframework.context.annotation.Bean;
     5 
     6 /**
     7  * 通过@Configuration注解把User类交给Spring容器管理
     8  */
     9 @SpringBootConfiguration
    10 public class UserConfig {
    11     @Bean("createUser")默认别名,是方法名称
    12     public User createUser() {
    13         return new User();
    14     }
    15 }
    
    

    ==》应用程序入口

     1 package com.demo.boot;
     2 
     3 import org.springframework.boot.autoconfigure.SpringBootApplication;
     4 import org.springframework.context.annotation.AnnotationConfigApplicationContext;
     5 
     6 /**
     7  * Hello world!
     8  */
     9 @SpringBootApplication//@SpringBootApplication=@Configuration+@ComponentScan+@EnableAutoConfiguration
    10 public class App {
    11     public static void main(String[] args) {
    12         //ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
    13         AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("com.demo.boot");
    14         User user = context.getBean("user", User.class);//别名为类名首字母小写
    15         User user1 = context.getBean("createUser", User.class);//类别名为方法名
    16         UserConfig userConfig = context.getBean(UserConfig.class);//类别名为方法名
    17         System.out.print(user + "," + user1 + "," + userConfig);//实际通过springCGLIB代理类动态调用自定义方法(createUser)创建类实例
    18         //输出:com.demo.boot.User:com.demo.boot.User@4c15e7fd,com.demo.boot.User:com.demo.boot.User@23986957,com.demo.boot.UserConfig$$EnhancerBySpringCGLIB$$72899f9e@23f7d05d
    19         //context.close();
    20     }
    21 }
    如果该文章对你有所帮助,请点个赞支持下,谢谢!
  • 相关阅读:
    Vsftpd 3.0.2 正式版发布
    Putdb WebBuilder 6.5 正式版本发布
    SoaBox 1.1.6 GA 发布,SOA 模拟环境
    pynag 0.4.6 发布,Nagios配置和插件管理
    Percona Playback 0.4,MySQL 负荷回放工具
    xombrero 1.3.1 发布,微型 Web 浏览器
    Hypertable 0.9.6.4 发布,分布式数据库
    libmemcached 1.0.11 发布
    CryptoHeaven 3.7 发布,安全邮件解决方案
    Android Activity生命周期
  • 原文地址:https://www.cnblogs.com/lfhappy/p/10882465.html
Copyright © 2011-2022 走看看