11月05日
使用 Spring Boot 快速构建应用服务

首先介绍一下 Spring Boot 在 Coding 上的使用场景。Coding 中使用 Spring Boot 搭建的 Email服务

之所以选择 Spring Boot,原因就是更加轻量级。在往常的 Spring 项目中,依赖的库太多,配置太繁杂,用在这只提供 Email 服务的程序上未免也小题大做了。而 Spring Boot 提供一些非功能性的常见的大型项目类特性(如内嵌服务器、安全、度量、健康检查、外部化配置)使得我们在部署上也更为方便,如可以直接地内嵌 Tomcat/Jetty (不需要单独去部署 war 包)。

废话了这么多,就来介绍下怎么使用 Spring Boot(简单 demo,深入学习参考官方文档)。
Java Maven 这两个环境可少不了。

安装

pom.xml中添加:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.8.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

如项目想添加更多的依赖自行添加即可。

搭建 Demo

添加启动入口文件:

@EnableWebMvc
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application extends WebMvcConfigurerAdapter {

    // dataSource这里使用的是Hikari,你也可以使用其他的
    @Bean
    public DataSource dataSource() {
        HikariConfig config = new HikariConfig(getClass().getClassLoader().getResource("db.properties").getPath());
        return new HikariDataSource(config);
    }

    // 用于处理编码问题
    @Bean
    public Filter characterEncodingFilter() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return characterEncodingFilter;
    }

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

}

添加 Controller:

@ResponseBody
@RestController
public class EmailController {
    @Autowired
    private EmailService emailService;

    @ResponseBody
    @RequestMapping(value = "/sendMail", method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
    public boolean sendMail(String title, String content, String email) {
       return true;
    }
}

添加 Service:

@Component

    // 用于读取配置文件的信息,默认从resources目录下的application.properties文件中读取
    @Value("${EmailQueueListener.enabled}")
    public boolean EmailQueueListenerEnbaled;

     @PostConstruct
        public void init() {
           // 初始化一些服务,例如队列服务等
        }
    }
     public List<String> sendMail(String title, String body, String... to) {
        return null;
     }
}

只要对 Spring 有过一定了解的上手 Spring Boot 绝对很快。
搭建好之后可以使用 mvn spring-boot:run 启动服务, Tomcat 之类的都不需要装。

好啦,对 Spring Boot 的一个简要使用介绍就到这了!

参考文档

  1. 参考 Spring Boot 项目的官方网站,了解更多信息。
  2. 查看 Spring Boot 的参考文档,学习更多关于 Spring Boot 的用法。

Michael

左瞳61596

6条评论

在coding.net上怎么部署呢?

乖丨摸摸头3 年前回复

Spring Boot虽然轻量级,但是在国内感觉用的公司不多,没有普及起来

appface3 年前回复

不错,喜欢。

yang-one3 年前回复
就是喜欢轻量级的东东!
匿名4 年前回复
没想到 coding.net 是java的 页面 好漂亮
匿名4 年前回复
没想到 coding.net 是java的 页面 好漂亮
匿名4 年前回复