美文网首页
Spring Boot实践(二)构建Spring Boot应用

Spring Boot实践(二)构建Spring Boot应用

作者: 梧可奈何 | 来源:发表于2018-08-30 18:40 被阅读20次

Spring Boot项目结构

官方建议主程序Application类放在最顶层package中,@SpringBootApplication注解往往放在主类,它会自动扫描所在包之下的所有类,如果放在其他package中可能会发生找不到bean的异常

com
 +- example
     +- myapplication
         +- Application.java
         |
         +- customer
         |   +- Customer.java
         |   +- CustomerController.java
         |   +- CustomerService.java
         |   +- CustomerRepository.java
         |
         +- order
             +- Order.java
             +- OrderController.java
             +- OrderService.java
             +- OrderRepository.java

@SpringBootApplication注解使用如下所示

package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

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

}

配置类

  • Spring Boot支持基于Java的配置类,定义配置类需要对类@Configuration注解。定义配置类时不需要把所有配置都放在一个类中,@Import会导入额外的配置类。
  • 如果需要导入XML配置,可以在@Configuration类中通过@ImportResource注释来加载XML配置文件
  • Spring Boot自动配置可以根据添加的jar依赖项自动配置Spring应用程序,可以通过@EnableAutoConfiguration或者@SpringBootApplication来选择自动配置;如果不需要自动配置可以选择exclude排除
  • @SpringBootApplication注解有三个功能,配置、自动配置和组件扫描,也可以启用三个单独的注解来配置
    • @EnableAutoConfiguration 开启自动配置
    • @ComponentScan:在类所在的包中启动扫描
    • @Configuration:允许在上下文中注册额外的bean或导入其他配置类
package com.example.myapplication;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

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

}
import org.springframework.boot.autoconfigure。*;
import org.springframework.boot.autoconfigure.jdbc。*;
import org.springframework.context.annotation。*;

@Configuration 
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
 public  class MyConfiguration {
}

Spring Beans和依赖注入

使用@ComponentScan可以扫描发现bean,Spring Boot会将@Component,@Service,@Repository,@Controller等注解类自动注册为Spring Bean

package com.example.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class DatabaseAccountService implements AccountService {

    private final RiskAssessor riskAssessor;

    @Autowired
    public DatabaseAccountService(RiskAssessor riskAssessor) {
        this.riskAssessor = riskAssessor;
    }

    // ...

}

运行Spring Boot程序

  • 通过IDE运行
  • 通过java命令运行
java -jar target / myapplication-0.0.1-SNAPSHOT.jar
  • 通过Maven运行
mvn spring-boot:run

相关文章

网友评论

      本文标题:Spring Boot实践(二)构建Spring Boot应用

      本文链接:https://www.haomeiwen.com/subject/wdudwftx.html