SpringBoot
1、什么是SpringBoot?
springboot是对spring的缺点进行改善和优化,约定大于配置 开箱即用,没有代码的生成,也无需xml文件配置,可以修改属性值来满足需求。
springboot是替代spring的,故而通常不会一起使用。
作用:可以将SpringBoot工程打成一个jar包,在其他工程中使用(相当于框架)其中的静态资源等。
2、入门程序
对于springboot这个框架而言,它有自己的主启动类(DemoApplication.java),而框架默认的自定义类所在位置是在主启动类的子类(子类:它的子侄一类,同级目录下一级)。
如图中标红的位置:
package com.offcn.demo.Controller; @RestController//这个注解说的是@Controller+@ResponseBody public class TestController { @RequestMapping("/test/{id}") public Car getCar(@PathVariable("id") Integer id, @RequestParam("name") String name){ Car c = new Car(id, name, 100000, new Date()); return c; } }
3、基本Web应用开发
3.1对于json格式的支持
这里需要介绍一个插件Lomlok,它就是springboot对于json格式的支持手段。
使用3步骤:
1、依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</version> </dependency>
2、安装插件Lomlok
在File->setting->Plugins中搜索lomLok安装
3、运用于pojo对象/实体类
相关注解:
@Data 是@Setter+@Getter+@ToString
@AllArgsConstructor 全参构造器
@NoArgsConstructor 无参构造器
4、如普通的pojo对象般使用
3.2SpringBoot请求时传递参数
和spring一致,路径传参和携带数据(?)。
3.3静态资源存放
SpringBoot提供了三个静态资源文件夹:
1、static是在创建springBoot工程时自带的静态资源文件夹。
2、public可以自己创建也不需要设置它。
3、META-INF/resources与public相似
4、自定义静态资源类,两种方式。
4.1创建一个配置类,SpringBoot提供了自定义配置类。
@Configuration,并实现WebMvcConfigurer的则是配置类。
其中addResourceHandlers方法是增加一个资源路径。
regisry.addResourceHandler("/访问时的路径/**").addResourceLocation("classpath:内部的文件夹/file:磁盘路径");
registry.addResourceHandler("/webJars/**").addResourceLocations("classpath:META-INF/resources/webJars/");自定义了一个内部的文件夹为静态资源文件夹。
registry.addResourceHandler("/webJars/**").addResourceLocations("file:E:\\**\\");这是自定义了一个磁盘路径为内部资源文件夹。
将一个文件夹设置为资源文件夹。
4.2在配置文件中application.properties中配置
web.upload-path=D:/springboot/pic/ spring.mvc.static-path-pattern=/** spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/, classpath:/static/,classpath:/public/,file:${web.upload-path}
3.4WebJars
作用:就是打包SpringBoot工程。
3.4.1WebJars结构
静态文件存放规则:META-INF/resources/webjars/${name}/${version}
3.4.2WebJars应用
前期准备需要将META-INF/resources/webjars/的目录设置为资源路径。install命令打包该工程,并放入本地仓库。
如何在其他的工程中使用:
1、导入依赖
<dependency> <groupId>com.offcn</groupId> <artifactId>Webjars-Demo</artifactId> <version>1.0</version> </dependency>
2、在该工程需要使用时的路径是前期设置的访问路径。
4、SpringBoot属性配置
4.1它是可以配置一些属性的
修改配置文件application.properties后缀名为yml,可以在其中配置一些参数信息。通过@Value("${属性名}")注解即可。
application.yml配置文件中,在其中键值对之间有冒号和一个空格。 server: port: 8888 servlet: context-path: /java001 重启项目,此时的端口号就是8888,项目名称是/java001
4.2自定义属性及读取
#我们可以在application.yml文件中,配置一些常量或者其他参数配置。读取的时候通过Spring的@Value(“${属性名}”)注解即可。 #配置文件: offcn_ip: 1.1.1.1 offcn_port: 9999 //Controller层 @Value("${offcn_ip}") private String offcn_ip; @Value("${offcn_port}") private String offcn_port; #还可以自定义的pojo对象: userbody: name: xxx password: 123456 birthday: 1992.10.28 创建一个对应的实体类,并且在@ConfigurationProperties(prefix="userbody") @RestController @EnableConfigurationProperties({UserBody.class}) public class HelloControllerBean { @Autowired UserBody userbody;