• SpringBoot入门


     创建一个SpringBoot最简单的应用

      

    @SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
    public class DemoApplication {
    
    	@Bean
    	public Runnable creatRunnale(){
    		return () -> {
    			System.out.println("springboot is running");
    		};
    	}
    
    	public static void main(String[] args) {
    		ConfigurableApplicationContext contxt = SpringApplication.run(DemoApplication.class, args);
    		contxt.getBean(Runnable.class).run();
    	}
    }
    

      注释@SpringBootApplication 标志着该类为项目入口,因为我引用了hibernateJPA ,所以要加上exclude ,使项目可以在没有数据库的环境下启动.

      

      

      @SpringBootApplication

        由于大量项目都会在主要的配置类上添加@Configuration,@EnableAutoConfiguration,@ComponentScan三个注解。

     分开解释@Configuration,@EnableAutoConfiguration,@ComponentScan。

    1、@Configuration:提到@Configuration就要提到他的搭档@Bean。使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。

     

    @Configuration的注解类标识这个类可以使用Spring IoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。

    2、@EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。

    3、@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。

      

    除了使用 SpringApplication.run(DemoApplication.class, args)来启动外,还有另外一种启动方式.@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})

    public class DemoApplication {
    
    	@Bean
    	public Runnable creatRunnale(){
    		return () -> {
    			System.out.println("springboot is running");
    		};
    	}
    
    	public static void main(String[] args) {
    //		ConfigurableApplicationContext context = SpringApplication.run(DemoApplication.class, args);
    
    		//动态启动
             //SpringApplication application = new SpringApplication(DemoApplication.class);
              //配置source
              Set<Object> sets = new HashSet<>();
    		sets.add(DemoApplication.class);
    		//创建applicationg
    		SpringApplication application = new SpringApplication();
    		application.setSources(sets);
    		//启动
    		ConfigurableApplicationContext context = application.run(args);
    		context.getBean(Runnable.class).run();
    		context.close();
    	}
    }
    

      

  • 相关阅读:
    【C++】对象模型
    【C++多线程】读写锁shared_lock/shared_mutex
    【C++多线程】共享数据的初始化保护
    【C++多线程】共享数据保护
    【C++多线程】lock_guard<T>类和unique_lock<T>类
    【C++多线程】转移线程所有权
    【C++ 】std::ref()和std::cref()
    【C++多线程】传递参数
    【C++多线程】detach()及注意
    linux 打开CHM文件
  • 原文地址:https://www.cnblogs.com/xsyfl/p/7755803.html
Copyright © 2020-2023  润新知