1、spring boot之Hello world

来源:互联网 发布:手机版淘宝店铺装修 编辑:程序博客网 时间:2024/06/07 09:11

1、首先建一个spring工程,选择maven管理,生成pom.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.lzj.spring</groupId>    <artifactId>SpringTest3</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>jar</packaging>    <name>demo</name>    <description>Demo project for Spring Boot</description>    <!--如果没有配置parent,请手动加上-->    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.5.9.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>        <java.version>1.8</java.version>    </properties>    <dependencies>        <!--如果没有请手动加上该依赖-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build></project>

2、创建一个源Bean的配置文件

package com.example.demo;import org.springframework.stereotype.Component;/*可以用@ComponentScan注解代替,表示扫描的类注入到IOC容器中*/@Componentpublic class Person {    public void isSex(){        System.out.println("I'm a female");    }}

3、spring boot的入口类如下:

package com.example.demo;import java.util.HashSet;import java.util.Set;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;/*可以用@ComponentScan代替,表示把DemoApplication 这个类的实例注入到IOC容器中,并在扫描范围内*/@SpringBootApplicationpublic class DemoApplication {    @Bean    public Runnable runnable(){        return () -> {System.out.println("spring boot is running...");};    }    public static void main(String[] args) {        SpringApplication app = new SpringApplication();        /*创建一个set实例,用来存放spring boot运行时,从哪些源中寻找需要的bean,相当于从哪些IOC容器中寻找需要的bean。Person类上有一个@ComponentScan注解,入口类上DemoApplication 有一个@ComponentScan注解,这两个类的字节码都加入到了spring boot的启动中,表示获取bean的实例时,会从这两个类表示的IOC容器中获取实例。*/        Set set = new HashSet();        set.add(Person.class);        set.add(DemoApplication.class);        app.setSources(set);        /*启动spring boot*/        ConfigurableApplicationContext context = app.run(args);        Person person = context.getBean(Person.class);        person.isSex();        System.out.println(context.getBean(Runnable.class));    }}

运行结果:

I'm a femalecom.example.demo.DemoApplication$$Lambda$7/1785507932@2aceadd4

从结果中可以看出,spring boot 从容器中获取到了需要的bean实例。

原创粉丝点击