SpringBoot

1、Spring Boot是什么

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架采用“习惯优于配置”的方式开发,可以快速构建Spring应用。
SpringBoot让Spring的开发变得更简单、快速。它内嵌了服务器,Spring 容器中预装配了大量的第三方组件,完全抛弃了XML配置。也就是说Springboot并不是什么新技术,而是让spring项目开发更加自动化

2、Springboot做了什么自动化操作?

1、Springboot规范优于配置,也就是遵循规范就少写配置。

2、Springboot内嵌服务器,所以可以直接把项目打成jar包不再必须打成war包。

3、Springboot预装载大量三方组件,也就是这些组件已经存在于spring容器中,要使用时只需要在自己的类中注入即可,当然需要在maven仓库中找到这些组件jar包。

4、抛弃了XML,给予Springboot的指令放在配置类或application.yml(properties)中。

3、Springboot运行步骤

1、在application.yml中配置必要指令,这些指令一般是全局指令。比如连接数据库的用户名密码、内嵌tomcat的端口号等,后面将给出具体配置。

2、在Main方法中执行SpringApplication.run()启动springboot,加@SpringBootApplication 注解标注为入口。

3、Springboot会自动扫描Main方法所在类的同级和下级包,可以加@ComponentScan(包),扫描任意包。

4、配置类可以实现WebMvcConfigurer接口,它已经写好常用的配置接口。

5、如果不实现WebMvcConfigurer接口可以加@Configuration注解标注为配置类,只要被springboot扫描到就会自动加载配置。

4、配置类的常用配置

1、@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理

2、RestTemplet对象可以实现HTTP客户端请求(封装的是Apache -httpclient)

1)GET:

EmployeeListVO result = restTemplate.getForObject(uri, EmployeeListVO.class);

final String uri = "http://localhost:8080/springrestexample/employees/{id}";

    Map<String, String> params = new HashMap<String, String>();

    params.put("id", "1");

    EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, params);

2)POST:

 final String uri = "http://localhost:8080/springrestexample/employees";

 EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", "test@email.com");

 EmployeeVO result = restTemplate.postForObject( uri, newEmployee, EmployeeVO.class);

3、跨域访问

public void addCorsMappings(CorsRegistry registry) {    
registry.addMapping("/**") //运行所有请求地址      
       .allowedOrigins("*") //允许所有域名           
        .allowedHeaders("*")//允许所有头          
          .allowedMethods("*");//允许所有方法    
           // /**  ->1个或多个地址   *->1个或多个字符串}

4、资源放行

public void addResourceHandlers(ResourceHandlerRegistry registry) {  
 //放行static下所有资源  
   registry.addResourceHandler("/static/**")
      //本地static下的所有资源}
     .addResourceLocations("classpath:/static/");          

5、拦截器

 // 拦截器
 public void addInterceptors(InterceptorRegistry registry) { 
     registry.addInterceptor(new MyInterceptor())   
      //拦截所有  
       .addPathPatterns("/**")     
       //放行资源
       .excludePathPatterns("/gotoAddUser","/static/**"); 
       }

6、application 配置文件
注意:springboot除了application还有bootstrap配置文件,bootstrap用于上下文的引导,一般配置固定不变或需要在启动springboot的时候就执行的命令。如:cloud中config组件的加载就需要放在bootstrap中。

application.properties示例

# 端口号
server.port=8080
# true开启调试模式,日志模式降为debug级别  默认false不开启
debug=true
# 应用上下文
server.servlet.context-path=/SpringBootDemo
# 默认字符集编码
spring.http.encoding.charset=UTF-8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值