SpringBoot框架的核心功能:
1.独立运行的Spring项目,SpringBoot可以以jar包的形式来运行,运行一个Spring Boot项目我们可以只需要通过java -jar xx.jar类运行
2.内嵌Servlet容器,Spring boot可以内嵌Tomcat,这样我们无需以war包的形式部署项目。
3.提供starter简化Maven配置,使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Springboot通过starter能够帮助我们简化Maven配置
4.自动配置Spring
5.准生产的应用监控
6.无代码生成和xml配置
Springboot框架的运行过程:
1.项目的根目录下会有个artifactid+Application命名规则的入口类开始运行,这个类有一个@SpringBootApplication注解,这是整个Springboot的核心注解,它的目的就是开启Springboot的自动配置。
2.@RestController注解,使该方法变为一个Controller.
关闭特定的自动配置
@SpringBootApplication中包含@SpringBootConfiguration配置类注解、@EnableAutoConfiguration表示让Springboot根据类路径中的jar包依赖为当前项目进行自动配置,以及@ComponentScan注解中有一个过滤器的,如果我们只想要@SpringBootApplication去扫描特定的类而不是全部类,那么就可以关闭自动配置,如下:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
SpringBoot的配置文件
SpringBoot使用一个全局的配置文件application.properties或者application.xml,配置文件放在src/main/resources目录下。
端口配置:server.port=8081
访问路径配置:server.context-path=/helloboot
常规属性配置:
1/属性常量:在application.properties中定义属性,然后再代码中使用@Value注入即可:book.name=三国演义
中文不做特殊处理会乱码:处理方式为继续在application.properties中添加如下代码:
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
sprint.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8
基于类型安全的配置
2/创建java bean组件,并注入properties文件中的值
3/添加路径映射
日志配置
默认情况下Spring boot使用Logback作为日志框架,可以在application.properties中添加如下代码,配置日志级别和日志输出位置:
logging.file=/home/sang/workspace/log.log
logging.level.org.springframework.web=debug
profile配置问题
在src/main/resources文件夹下定义不同环境下的Profile配置文件,文件名分别为application-prod.properties和application-dev.properties,这两个前者表示生产环境下的配置,后者表示开发环境下的配置。
SpringBoot的自动配置
1.新建starter的Maven项目
2.添加依赖,工程创建成果后首先要添加SpringBoot自身的自动配置作为依赖
3.属性配置
4.判断依据类,这个类可以是第三方类库,根据这个类是否存在来创建这个类的Bean
5.自动配置类
@ConditionalOnClass注解主要是用来判断HelloService这个类在路径中是否存在,在存在且容器中没有该类的Bean的情况下系统会自动配置需要的Bean,@ConditionalOnProperty注解则表示指定的属性要满足的条件,在helloService方法中我们则使用了HelloServiceProperties提供的参数。
6.注册配置
7.在项目中使用。
SpringBoot开发WEB项目
Spring Boot 提供了spring-boot-starter-web来为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及SpringMVC的依赖,用起来很方便。另外,我们这里还要用到模板引擎,我们做web开发可选的模板引擎还是挺多的,这里我主要使用Thymeleaf作为模板引擎,事实上,Spring Boot提供了大量的模板引擎,包括FreeMarker、Groovy、Thymeleaf、Velocity和Mustache
Thymeleaf在使用的过程中通过ThymeleafAutoConfiguration类对集成所需要的Bean进行自动配置,通过ThymeleafProperties来配置Thymeleaf
controller层和service层
spring MVC模型:controller层(业务层),视图层(view)和模型层(model)
基于controller和modal层并没有很好的实现模块化,因此,我们将modal层去掉,改为更加原子化的dao层;同时,将controller层的业务逻辑,划分成多个服务。每个服务可以组合使用dao层数据,组装成一个服务,比如用户的注册服务;而controller层,调用多个service服务完成url请求。
controller--service--dao
1.独立运行的Spring项目,SpringBoot可以以jar包的形式来运行,运行一个Spring Boot项目我们可以只需要通过java -jar xx.jar类运行
2.内嵌Servlet容器,Spring boot可以内嵌Tomcat,这样我们无需以war包的形式部署项目。
3.提供starter简化Maven配置,使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Springboot通过starter能够帮助我们简化Maven配置
4.自动配置Spring
5.准生产的应用监控
6.无代码生成和xml配置
Springboot框架的运行过程:
1.项目的根目录下会有个artifactid+Application命名规则的入口类开始运行,这个类有一个@SpringBootApplication注解,这是整个Springboot的核心注解,它的目的就是开启Springboot的自动配置。
2.@RestController注解,使该方法变为一个Controller.
关闭特定的自动配置
@SpringBootApplication中包含@SpringBootConfiguration配置类注解、@EnableAutoConfiguration表示让Springboot根据类路径中的jar包依赖为当前项目进行自动配置,以及@ComponentScan注解中有一个过滤器的,如果我们只想要@SpringBootApplication去扫描特定的类而不是全部类,那么就可以关闭自动配置,如下:
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
SpringBoot的配置文件
SpringBoot使用一个全局的配置文件application.properties或者application.xml,配置文件放在src/main/resources目录下。
端口配置:server.port=8081
访问路径配置:server.context-path=/helloboot
常规属性配置:
1/属性常量:在application.properties中定义属性,然后再代码中使用@Value注入即可:book.name=三国演义
中文不做特殊处理会乱码:处理方式为继续在application.properties中添加如下代码:
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
sprint.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8
基于类型安全的配置
2/创建java bean组件,并注入properties文件中的值
3/添加路径映射
日志配置
默认情况下Spring boot使用Logback作为日志框架,可以在application.properties中添加如下代码,配置日志级别和日志输出位置:
logging.file=/home/sang/workspace/log.log
logging.level.org.springframework.web=debug
profile配置问题
在src/main/resources文件夹下定义不同环境下的Profile配置文件,文件名分别为application-prod.properties和application-dev.properties,这两个前者表示生产环境下的配置,后者表示开发环境下的配置。
SpringBoot的自动配置
1.新建starter的Maven项目
2.添加依赖,工程创建成果后首先要添加SpringBoot自身的自动配置作为依赖
3.属性配置
4.判断依据类,这个类可以是第三方类库,根据这个类是否存在来创建这个类的Bean
5.自动配置类
@ConditionalOnClass注解主要是用来判断HelloService这个类在路径中是否存在,在存在且容器中没有该类的Bean的情况下系统会自动配置需要的Bean,@ConditionalOnProperty注解则表示指定的属性要满足的条件,在helloService方法中我们则使用了HelloServiceProperties提供的参数。
6.注册配置
7.在项目中使用。
SpringBoot开发WEB项目
Spring Boot 提供了spring-boot-starter-web来为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及SpringMVC的依赖,用起来很方便。另外,我们这里还要用到模板引擎,我们做web开发可选的模板引擎还是挺多的,这里我主要使用Thymeleaf作为模板引擎,事实上,Spring Boot提供了大量的模板引擎,包括FreeMarker、Groovy、Thymeleaf、Velocity和Mustache
Thymeleaf在使用的过程中通过ThymeleafAutoConfiguration类对集成所需要的Bean进行自动配置,通过ThymeleafProperties来配置Thymeleaf
controller层和service层
spring MVC模型:controller层(业务层),视图层(view)和模型层(model)
基于controller和modal层并没有很好的实现模块化,因此,我们将modal层去掉,改为更加原子化的dao层;同时,将controller层的业务逻辑,划分成多个服务。每个服务可以组合使用dao层数据,组装成一个服务,比如用户的注册服务;而controller层,调用多个service服务完成url请求。
controller--service--dao