springboot笔记(整理)
Spring Boot 微框架(2020版)
1. springboot的引⾔
Spring Boot是由Pivotal团队提供的全新框架,其设计⽬的是⽤来简化Spring应⽤的初始搭建以及开发过程。该框架使⽤了特定的⽅式来进⾏配置,从⽽使开发⼈员不 再需要定义样板化的配置。通过这种⽅式,Spring Boot致⼒于在蓬勃发展的快速应 ⽤开发领域(rapid application development)成为领导者。
springboot(微框架) = springmvc(控制器) + spring core(项⽬管理)
SSM Spring springmvc mybatis <---- SSM Spring stauts2|struts1 mybatis <— SSH Spring Struts Hibernate
2. springboot的特点
1. 创建独⽴的Spring应⽤程序
2. 嵌⼊的Tomcat,⽆需部署WAR⽂件
3. 简化Maven配置
4. ⾃动配置Spring,没有XML配置springboot结构
3. springboot 的约定⼤于配置
项⽬⽬录结构:
[外链图⽚转存失败,源站可能有防盗链机制,建议将图⽚保存下来直接上传(img-058pkQwr-1628192771660)(Spring Boot-2020微框架.assets/image-20200321091519423.png)]
springboot 项⽬中必须在src/main/resources中放⼊l(.properties)核⼼配置⽂件名字必须为:application
springboot 项⽬中必须在src/main/java中所有⼦包之外构建全局⼊⼝类型,xxApplication,⼊⼝类⼀个springboot项⽬只能有⼀个
4. springboot的环境搭建
环境要求:
# 1.System Requirements
JDK18.+
MAVEN3.3 or Gradle 5.x and 6.x (4.10 is also supported but in a deprecated form)
Spring Framework 5.2.4.RELEASE
# 2.ServletContainers:
Tomcat 9.0
Jetty 9.4
Undertow 2.0
# 3.开发⼯具
IDEA 2018版本
Eclipse 版本 17版本之后
4.1 项⽬中引⼊依赖
<!--继承springboot的⽗项⽬-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>
<dependencies>
<!--引⼊springboot的web⽀持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4.2 引⼊配置⽂件
项⽬中src/main/l
4.3 建包并创建控制器
//在项⽬中创建指定的包结构
/*
com
+| baizhi
+| controller */
@Controller
@RequestMapping("/hello")
public class HelloController {
@RequestMapping("/hello")
@ResponseBody
public String hello(){
System.out.println("======hello world=======");
return"hello";
}
}
4.4 编写⼊⼝类
/
/在项⽬中如下的包结构中创建⼊⼝类 Application
/*
com
+| baizhi */
@SpringBootApplication
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class,args);
}
}
4.5 运⾏main启动项⽬
AnnotationMBeanExporter : Registering beans for JMX exposure on startup TomcatEmbeddedServletContainer : Tomcat started on port(s):8989(http) Application : Started Application in 2.152 seconds (JVM running for2.611)
//说明: 出现以上⽇志说明启动成功
4.6 访问项⽬
//注意: springboot的项⽬默认没有项⽬名
//访问路径: localhost:8080/hello/hello
5. 启动tomcat端⼝占⽤问题
server:
port:8989#⽤来指定内嵌服务器端⼝号
context-path: /springboot #⽤来指定项⽬的访问路径
6. springboot相关注解说明
# Spring boot通常有⼀个名为 xxxApplication的类,⼊⼝类中有⼀个main⽅法, 在main⽅法中使⽤SpringApplication.run(xxxApplication.class,args)启动springbo ot应⽤的项⽬。
# @RestController: 就是@Controller+@ResponseBody组合,⽀持RESTful访问⽅式,返回结果都是json字符串。
# @SpringBootApplication 注解等价于:
@SpringBootConfiguration 标识注解,标识这是⼀个springboot的配置类
@EnableAutoConfiguration ⾃动与项⽬中集成的第三⽅技术进⾏集成
@ComponentScan 扫描⼊⼝类所在⼦包以及⼦包后代包中注解
7. springboot中配置⽂件的拆分
#说明: 在实际开发过程中⽣产环境和测试环境有可能是不⼀样的因此将⽣产中的配置和测试中的配置拆分开,是⾮常必要的在springboot中也提供了配置⽂件拆分的⽅式. 这⾥以⽣产中项名名称不⼀致为例:
⽣产中项⽬名为: cmfz
测试中项⽬名为: springboot
端⼝同时为:8080
拆分如下:
#主配置⽂件:
server:
port:8080#⽣产和测试为同⼀个端⼝
#⽣产配置⽂件:
server:
context-path: /cmfz
#测试配置⽂件:
server:
context-path: /springboot
8.springboot中创建⾃定义简单对象
8.1 管理单个对象
在springboot中可以管理⾃定义的简单组件对象的创建可以直接使⽤注解形式创建。
# 1.使⽤ @Repository @Service @Controller 以及@Component管理不同简单对象
如: ⽐如要通过⼯⼚创建⾃定义User对象:
@Component
@Data
public class User {
private String id;
private String name;
......
}
# 2.通过⼯⼚创建之后可以在使⽤处任意注⼊该对象
如:在控制器中使⽤⾃定义简单对象创建
@Controller
@RequestMapping("hello")
public class HelloController {
@Autowired
private User user;
......
}
8.2 管理多个对象
在springboot中如果要管理复杂对象必须使⽤@Configuration + @Bean注解进⾏管理# 1.管理复杂对象的创建
@Configuration(推荐)|@Component(不推荐)
public class Beans {
@Bean
public Calendar getCalendar(){
Instance();
}
}
# 2.使⽤复杂对象
@Controller
@RequestMapping("hello")
public class HelloController {
@Autowired
private Calendar calendar;
......
}
# 注意:
1.@Configuration 配置注解主要⽤来⽣产多个组件交给⼯⼚管理 (注册形式)
2.@Component ⽤来管理单个组件 (包扫描形式)
9.springboot中注⼊
springboot中提供了三种注⼊⽅式: 注⼊基本属性,对象注⼊
9.1 基本属性注⼊
# 1.@Value 属性注⼊ [重点]
@Controller
@RequestMapping("hello")
public class HelloController {
@Value("${name}")
private String name;
}
# 2.在配置⽂件中注⼊
name: xiaohei
9.2 对象⽅式注⼊
# 1. @ConfigurationProperties(prefix="前缀")
@Component
@Data
@ConfigurationProperties(prefix ="user")
public class User {
private String id;
private String name;
private Integer age;
private String bir;
.....
}
# 2. 编写配置⽂件
user:
id:24
name: xiaohei
age:23
bir: 2012/12/12
# 3. 引⼊依赖构建⾃定义注⼊元数据
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional>
</dependency>
10. springboot中两种模板配置
10.1 集成jsp模板
10.1.1 引⼊jsp的集成jar包
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>at.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
10.1.2 引⼊jsp运⾏插件
<build>
<finalName>springboot_day1</finalName>
<!--引⼊jsp运⾏插件-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
10.1.3 配置视图解析器
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论