SpringBoot入门篇和注解

​一,SpringBoot是什么?

     SpringBoot是一个框架,目的就是为了简化在使用spring其他框架时所需要的大量的配置文件,使其配置变的相当简单,也让应用部署变得简单。

 

二,SpringBoot的特性是什么?

     1,内置服务器,直接嵌入Tomcat,jetty等,在应用部署时不再使用war包,直接jar包即可使用

      2,自动进行spring框架的配置,在之前的项目中,我们经常把配置文件放入的resource中进行管理,集成springboot后,只需要一个配置文件,其包含端口号,数据库连接信息,操作及其简单,完全不需要任何xml的配置,节省大量的时间和精力。

 

三,创建springboot项目的三种方式

       1,通过IDEA或者eclipse的spring Initializer创建

       2,访问https://start.spring.io 创建

       3,自己手动创建

 

SpringBoot入门篇和注解

SpringBoot入门篇和注解

SpringBoot入门篇和注解

SpringBoot入门篇和注解

 

注意:DemoApplication是springboot的启动类

 

四,   SpringBoot需要的依赖

     1,核心依赖,必须引入

 

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>2.3.1.RELEASE</version>

    <type>pom</type>

</dependency>

 

    2,web项目,添加web依赖

    

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    <version>2.3.1.RELEASE</version>

</dependency>

 

 

3,热启动,(非必须依赖,调试可用,修改之后可以实时生效)

    

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-web</artifactId>

    <version>2.3.1.RELEASE</version>

</dependency>

 

 

 

 

     

五,常用注解

1,注解在application上:

@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan,

 

2,@Configuration 和其 @bean 

使用这两个注解就可以创建一个简单的spring配置类,可以用来替代相应的xml配置文件。

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

 

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

 

 

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

 

 

5,@ServletComponentScan 注解加上后拦截器失效 去掉后 过滤器和监听器失效,一般类中写的都是main方法。

 

6,@Import(DbConfig.class)  //导入CDConfig的配置文件

 


7,@ImportResource("classpath:dubbo-consumer.xml") //导入xml配置项

 

8, @PropertySource("classpath:config.properties") //导入properties文件

 

 

9,@EnableAsync  可以异步执行,就是开启多线程的意思。可以标注在方法、类上。为了让@Async注解能够生效,还需要在Spring Boot的主程序中配置@EnableAsync,@Async所修饰的函数不要定义为static类型,这样异步调用不会生效。@Async所修饰的方法不能同类调用,此时不能形成代理模式,异步调用不生效

 

10,@EnableScheduling 开启定时任务,为了让@Scheduled注解能够生效还需要在Spring Boot的主程序中配置

 

11 @value  需要参数。这里参数可以是两种形式:@Value("#{configProperties['name']}")或者@Value("${name}");

若需要注解添加默认值,则为:@Value("${name:xinxin}");