spring-boot学习记录——HelloWorld

    前面学习了spring-boot应用的依赖管理,现在我们将开始第一个spring-boot应用的构建,这里以web应用为例。

    创建一个maven项目,pom依赖配置如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>1.3.2.RELEASE</version>
</dependency>
     创建一个main方法类:(注意:不要在默认包下创建,这样会导致spring-boot应用出现个别问题,切这样的代码不符合编码规范)
package com.example.myproject;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}
    这里要注意三个注解@Configuration, @EnableAutoConfiguration 和 @ComponentScan:


@Configuration:配置类;

    虽然SpringApplication.run()方法支持基于xml配置文件启动,但是官方建议使用Configuration注解来代替xml配置,当然,你可以将配置分散到不同的类中便于分散管理,然后使用@Import导入个别所需要的配置类;你也可以使用@ComponentScan,它会自动扫描根包下所有的@Configuration配置类。

    如果需要导入一个xml配置文件,可以使用@ImportResource注解


@EnableAutoConfiguration :自动化配置;

    根据应用所引用的依赖进行自动化配置,例如引用了jpa,则会自动扫描并配置根包下的@Entity注解类

    如果引入了个别不想进行配置的类,使用exclude属性进行排除。

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})


@ComponentScan:根包,将当前类所在包作为根包,扫描该包及其子包下的bean组件(@Component, @Service, @Repository, @Controller

    我们会发现:@Configuration, @EnableAutoConfiguration@ComponentScan三个注解经常组合使用,为了开发方便,官方提供了一个注解来代替这三个注解组合使用的情况:@SpringBootApplication

  我们已经创建了一个应用启动类,然后就可以创建控制器了:

package com.example.myproject;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping
public class IndexController {

    @RequestMapping
    @ResponseBody
    public String index() {
        return "hello world";
    }

}


    至此,我们就构建了一个基于spring-boot的web应用,启动main方法类,在浏览器中输入http://localhost:8080,如果页面输出"hello world",则部署成功。

    是不是很简单很方便?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.jsunw.com/?post=26

相关推荐

你肿么看?

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。