1.什么是springboot? springboot与springmvc的区别,springboot代替了springmvc? ssm包含了spring与springmvc还有mybatis.

用到几个注解:

@SpringBootApplication 标记当前类是一个springboot启动类,注意一个应用只有一个启动类; 放在类名上边
@RestController 等价于 @controller 和 @ResponseBody 放置在类名上边
@RunWith(SpringRunner.class)
@SpringBootTest // 标明当前类是springboot测试类, 注意测试类一定要和启动类在同一个包下边
@Email 校验邮箱格式
@ConfigurationProperties(prefix = “student”) 批量的从配置文件中读取配置文件并配值,属性必须匹配. 而且需要有get &set方法
@Validated 开启校验,@Validated 一定要和 @ConfigurationProperties 配合
@EnableConfigurationProperties 让当前配置文件生效
@Component 把东西注入到容器中去
@PropertySource(“classpath:mysql.properties”) 自定义读取配置文件
@Configuration 编写自定义配置类 ///定义一个配置类
@ Configuration 定义一个配置类
@ Bean: 进行组件配置
@RunWith(SpringRunner.class)
@SpringBootTest // 表明当前类是spring boot 测试类 注意测试类一定要和 启动类同一个包下面

约定 大于 配置

springboot相当于一个外壳,承载者,把spring框架封装在外壳里边,也就是说springboot包含了ssm中所有的功能.

1.mybatis 零配置
2.shiro 权限管理,也与springboot兼容
3. springboot兼容springcloud微服务
4. redis 单独配置十分麻烦, springboot兼容redis不需要再配置,0配置

2.优点:
1.简化开发,可以快速构建独立的spring应用
2.直接嵌入了Tomcat,Jetty和Undertow服务器.(无需部署war文件)
3.提供依赖启动器简化构建配置
4.极大程度的自动化配置spring和第三方库
5.提供生产就绪功能
6.极少的代码生产和xml配置

springboot中没有 xml代码…

  • springBoot 是基于spring框架开发的全新框架,其设计目的是简化新Spring应用打的初始化搭建,和开发过程.
  • SpringBoot 整合了许多框架和第三库配置,几乎可以达到"开箱即用".

3.Springboot和SpringMVC的区别

1.spring框架 是一个家族性fremwork的框架,

2.SpringMVC提供了一种轻度耦合的方式来开发web应用.

3.SpringBoot实现了自动配置,降低了项目搭建的难度

总结: spring是一个"核心",springMVC是基于Spring的一个MVC框架,SpringBoot 是基于Spring4条件注册的一套快速开发整合工具.

2.使用springboot创建工程

2.1搭建工程

2.2引入pom.xml所需springboot依赖

 <!--引入父依赖--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/></parent><dependencies><!-- web相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
<!-- test相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies>

2.3如何把controller加入容器


spring配置文件 如果同时存在,优先使用application.properties配置文件

resouces中的配置文件有两种:application.properties配置文件,application.yaml配置文件

第一种:application.properties配置文件


引入依赖

   <!-- Spring Boot提供的配置处理器依赖  提醒依赖配置文件,自动提醒L 1.添加依赖,  2.编译--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>

MyApplication.properties

#配置端口号
#server.port = 8081student.id = 19
student.name = xiangqian
student.sex = F
student.age = 18
student.height=180
student.hobby=slepp,playname,run
student.course.math=147
student.course.english=129

Student

package com.aaa.springboot.entity;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;import java.util.List;
import java.util.Map;/*** ClassName:Student* Package:com.aaa.springboot.entity* Description:** @date:2020/7/27 10:44* @author:lee907463383@qq.com*/
@Component   //注入容器
@ConfigurationProperties(prefix = "student")   //读取全局默认  配置文件前缀为student
public class Student {private int id;private String name;private String sex;private int age;private int height;//爱好private List<String> hobby;//成绩private Map<String,String> course;@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", sex='" + sex + '\'' +", age=" + age +", height=" + height +", hobby=" + hobby +", course=" + course +'}';}public List<String> getHobby() {return hobby;}public void setHobby(List<String> hobby) {this.hobby = hobby;}public Map<String, String> getCourse() {return course;}public void setCourse(Map<String, String> course) {this.course = course;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getHeight() {return height;}public void setHeight(int height) {this.height = height;}
}

MyApplicationTest

package com.aaa.springboot;import com.aaa.springboot.controller.FirstController;
import com.aaa.springboot.entity.Student;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;/*** ClassName:MyApplicationTest* Package:com.aaa.springbooot* Description:** @date:2020/7/27 10:28* @author:lee907463383@qq.com*/
@RunWith(SpringRunner.class)
@SpringBootTest   // 标明当前类是springboot测试类,   注意测试类一定要和启动类在同一个包下边
public class MyApplicationTest {@Autowiredprivate FirstController firstController;@Autowiredprivate Student student;@Testpublic void testFirest(){System.out.println("firstController:"+firstController);}@Testpublic void studentTest(){System.out.println("student:"+student);}}

第二种:application.yaml配置文件

**yaml配置
什么是ymal?
YAML文件格式是Spring Boot支持的一种JSON超集文件格式。
相较于传统的Properties配置文件,YAML文件以数据为核心,是一种更为直观且容易被电脑识别
的数据序列化格式。
application.yaml文件的工作原理和application.properties一样。
**

4.使用@PropertySource加载自定义的配置文件

1.新建配置文件mysql.properties

mysql.driver=com.mysql.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/student_db
mysql.username=root
mysql.password=123456

2.加载配置文件

@Component
@EnableConfigurationProperties //让当前配置文件生效
@PropertySource("classpath:mysql.properties")  //自定义读取配置文件
@ConfigurationProperties(prefix = "mysql")
public class MysqlProperties {private String dirver;private String url;private String username;private String password;@Overridepublic String toString() {return "MysqlProperties{" +"dirver='" + dirver + '\'' +", url='" + url + '\'' +", username='" + username + '\'' +", password='" + password + '\'' +'}';}public String getDirver() {return dirver;}public void setDirver(String dirver) {this.dirver = dirver;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

5.@Configuration编写自定义配置类

src/main/java/com/aaa/springboot/config/Config.java
@Configuration:定义一个配置类


@Configuration // 表明当前类是一个 配置类  就把整个类当成 bean.xml
public class Config {@Bean("studentService")// 将当前方法创建的对象 放入到容器中  <bean></bean>  配置第三方插件使用StudentService getStudentService(){return new StudentService();}
}

src/main/java/com/aaa/springboot/service/StudentService.java

public class StudentService {public Student finStudentById(int id){Student student = new Student();student.setId(id);return student;}}

测试

public class MyApplicationTest {@Autowiredprivate StudentService studentService;@Testpublic void studentServiceTest(){System.out.println("studentService:"+studentService.finStudentById(8888));}}

后期主要就是学习springboot的自动装配和启动的方式

SpringBoot配置与应用 SpringBoot与(Spring和springmvc的区别)相关推荐

  1. Spring与SpringMVC的区别

    Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring. 简单点的话可以将SpringMVC类比于Strut ...

  2. springmvc和php,spring和springmvc的区别

    Spring与SpringMVC的区别 Spring是IOC和AOP的容器框架,SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring. 简单点的话 ...

  3. Spring是什么?SpringMVC是什么?Spring和springMVC的区别?

    Spring:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. Spring的两大核心AOP与IOC,可以单独用于任何应用,包括与Struts等MVC框架与Hibernat ...

  4. Spring和SpringMVC的区别

    spring 是是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单 ...

  5. SpringBoot配置属性之NOSQL

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  6. SpringBoot配置属性之MQ

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  7. SpringBoot配置属性之DataSource

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  8. SpringBoot配置属性之Server

    SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...

  9. Springboot配置SSL(https)

    Springboot配置SSL(https) SpringBoot可以通过在application.properties或application.yml配置文件中配置各种server.ssl.*属性来 ...

最新文章

  1. Java双刃剑之Unsafe类详解
  2. 什么是Python的var_dump()的Python等价物? [重复]
  3. 《Verilog HDL那些事儿》PDF 3.0版本发布
  4. 禁止多媒体文件的预览功能
  5. IntelliJ IDEA 的 Project Structure 窗口中的 Artifacts 勾选 Include in project build
  6. 程序员在网吧办公是什么感觉?网友:在被打的边缘疯狂试探!
  7. 拓端tecdat|R语言改进的股票配对交易策略分析SPY-TLT组合和中国股市投资组合
  8. 用ISA 2004发布内部FTP服务器
  9. Microsoft Teams 当前页面脚本发生错误/例外被抛出且未被接住
  10. Java 暴力破解zip压缩包密码
  11. msfvenom生成muma
  12. EasyPlayer播放H.265的HLS视频流出现加载异常的问题分析及解决方法
  13. burp直接抓取windows微信小程序与公众号数据包
  14. 商业模式新生代_商业模式新生代——商业模式设计
  15. 送你一份perl书单
  16. 赛联区块链教育:对区块链技术做个普及
  17. 微信客户端配置信息存储解决方案
  18. intrins.h 简介
  19. # 驱动安全编码排查指南
  20. testng和idea_TestNG,FEST和CDI

热门文章

  1. [C#]使用Process的StandardInput与StandardOutput写入读取控制台数据
  2. Hive 实现 IN 和 NOT IN 子句 和 LEFT SEMI JOIN 应用
  3. css代码文字破碎js特效
  4. 电脑公司GHOST WIN7 装机旗舰版 2013 09
  5. maven打开edge的闪退
  6. 微信公众号文字该如何排版?
  7. 简单教你贴-iPhone新一代超薄卡贴
  8. 360 android框架,360 董福源 - Android框架虚拟化实战.pdf
  9. 电影: 嘲笑过片名后,我哭着看完这部片
  10. python自动修图软件_带走!20 个提升效率的神器工具