SpringBoot学习之常用注解

@SpringBootAppliaction通常注解写在SpringBoot启动类中,主要包括三个作用:

    1.@Configuration表示将该类作用springboot配置文件类。

    2.@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置。

    3.@ComponentScan:表示程序启动时,自动扫描当前包及子包下所有类。

@SpringBootConfiguration:表示将该类作用springboot配置文件类,继承@Configuration,二者功能一致。

    1.标明当前类是配置类,类内声明一个或者多个以@Bean注解标记的方法。

    2.类以@Bean标记的方法的实例对象交给spring容器管理,并且实例名就是方法名

@Configuration

    1.@Configuration注解底层是含有@Component ,所以@Configuration 具有和 @Component 的作用。

    2.@Configuration注解相当于spring的xml配置文件中<beans>标签,里面可以配置bean。

@Bean

    1.@Bean注解相当于spring的xml配置文件<bean>标签,告诉容器注入一个bean。

    2.@Bean注解的方法上如果没通过bean指定实例名,默认实例名与方法名相同。

    3.@Bean注解默认为单例模式,可以通过@Scope("prototype")设置为多例。

@Controller:表示该类作用springboot的controller对象类来使用

    1.可以扫描使用了该注解类的方法,并检测该方法是否使用了@RequestMapping注解。

    2.告诉springboot可以当做controller对象来扫描我,真正处理请求的是标记@RequestMapping注解的方法。

    3.该注解类如果返回json对象到页面,则需要在方法上加@ResponseBody注解。

@RestController:该注解相当于@Controller+@ResponseBody的作用

    1.返回json数据不需要在方法前面加@ResponseBody注解。

    2.使用@RestController注解Controller,配置的视图解析器InternalResourceViewResolver不起作用,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面。

 关于 @Controller和@RestController的用法

1.Controller可以用来跳转页面,并且必须配合模板来使用。

@Controller
//@ResponseBody
public class LoginController {

    @RequestMapping(value = "/login", method=RequestMethod.GET)
    public String login() {
        return "hello world!!";
    }
}
上面的代码如果直接在浏览器地址栏中输入:http://localhost:8080/login会出现下面得错误:

image

 

出现这种情况的原因在于没有使用模版。即@Controller 用来响应页面,@Controller必须配合模版来使用。

SpringBoot支持多种模板包括:

1.FreeMarker

2.Groovy

3.Thymeleaf (Spring 官网使用这个)

4.Velocity

5.JSP (貌似Spring Boot官方不推荐,创建项目会在src/main/resources 下有个templates 目录,这里就是让我们放模版文件的,然后并没有生成诸如SpringMVC 中的webapp目录)

@PostConstruct

想在生成对象时候完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么就无法在构造函数中实现。

为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。

@Scheduled注解和@EnableScheduling注解的使用

 

@EnableScheduling注解: 在配置类上使用,开启计划任务的支持

@Scheduled注解: 来声明这是一个任务,包括 cron,fixDelay,fixRate 等类型(方法上,需先开启计划任务的支持)。

 

image

 

posted @ 2019-01-07 16:44  狗狗听话  阅读(303)  评论(0)    收藏  举报