SpringBoot非Webプログラムの開発

2310 ワード

SpringBoot非Webプログラムの開発
SpringBootフレームワークで、非Webアプリケーション(純Java)プログラムを作成するには、SpringBootプロジェクトを新規作成し、自動的に依存するjarパッケージ
 
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

spring-boot-starter-webの起動依存パッケージではなく、Springbootフレームワークは、Javaプロジェクトを開発するspring-boot-starter起動依存パッケージを自動的にデフォルトで追加していることがわかります.
UserServiceインタフェース
public interface UserService {
    String sayHi(String name);
}

UserServiceImpl
@Component
public class UserServiceImpl implements UserService {
    @Override
    public String sayHi(String name) {
        System.out.println("hi" +name);
        //  dao 
        return name;
    }
}

@Componentも@Serviceも可能
実行します.
@SpringBootApplication
public class SpringbootJavaApplication {

    public static void main(String[] args) {
        //SpringApplication.run()  Spring    
        ConfigurableApplicationContext context = SpringApplication.run(SpringbootJavaApplication.class, args);
        UserService userService = (UserService) context.getBean("userServiceImpl");
        String name = userService.sayHi("  ");
        System.out.println(name);
    }

}

別の方法で実行します.
@SpringBootApplication
public class SpringbootJavaApplication implements CommandLineRunner {
    @Autowired
    private UserService userService;

    /**
     *     Java     main  
     * @param args
     * @throws Exception
     */
    @Override
    public void run(String... args) throws Exception {
        userService.sayHi("jiuyue");
    }
    public static void main(String[] args) {
        //  Springboot,  Spring  
        SpringApplication.run(SpringbootJavaApplication.class, args);

    }
}

implements CommandLineRunnerを実装しインタフェースを実装する方法が必要であり,public void runはJavaプログラムのmainメソッドに相当する.SpringBootプロジェクトでは、登録BeanをスキャンするにはSpringBootが起動するmainメソッドも必要です.このmainメソッドでSpringBootを起動し、Springコンテナを起動します.