Spring Boot 约定大于配置
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
有了springboot 我们就可以…
内嵌Tomcat,不再需要外部的Tomcat;不再需要那些千篇一律,繁琐的xml文件。
更方便的和各个第三方工具(mysql,redis,elasticsearch,dubbo等等整合),而只需要维护一个配置文件即可。
Spring Boot和SSM的关系:
springboot整合了springmvc ,spring等核心功能。也就是说本质上实现功能的还是原有的spring ,springmvc的包,但是springboot单独包装了一层,这样用户就不必直接对springmvc, spring等,在xml中配置。
没有xml文件,只需要维护application.properties这样一个配置文件即可;
1 springboot实际上就是把以前需要用户手工配置的部分,全部作为默认项。除非用户需要额外更改不然不用配置。这就是所谓的:“约定大于配置”;
2 如果需要特别配置的时候,去修改application.properties
快速搭建模块
新建一个project,然后在project下增加一个Module,选择Spring Initializr
目前企业中普遍选择1.5.x,不推荐选择2.x.x
@Controller public class Demo1Controller { @ResponseBody @RequestMapping("testDemo") public String testDemo(){ return "hello demo"; } } 用main方法启动的tomcat,如下图所示 用浏览器访问测试:localhost:8080/testDemo 端口号的修改: 在 resources目录下的application.properties 加入 server.port=80
在程序中直接找到XXXXXApplication这个类启动它,这个类只有一个main函数 ,直接执行就可以
@RestController
A convenience annotation that is itself annotated with @Controller and @ResponseBody.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。
1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver则不起作用,返回的内容就是Return 里的内容(String/JSON)。
例如:本来应该到success.jsp页面的,则其显示success.
2))如果使用@RestController注解Controller,需要返回到指定页面,则需要配置视图解析器InternalResourceViewResolver,可以利用ModelAndView返回试图。
3)如果使用@Controller注解Controller,如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义
该注解将HTTP Get 映射到 特定的处理方法上
@GetMapping是一个组合注解 是@RequestMapping(method = RequestMethod.GET)的缩写
@PostMapping是一个组合注解 是@RequestMapping(method = RequestMethod.POST)的缩写
在日志服务器进行分流
springboot 整合kafka:logger工程中的pom.xml加入
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>1.3.2.RELEASE</version> </dependency>
application.properties配置文件中:
#============== kafka =================== # 指定kafka 代理地址,可以多个 spring.kafka.bootstrap-servers=hadoop101:9092 # 指定消息key和消息体的编解码方式 spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
使用log4j.properties文件打印 或 存储log日志文件;
原文:https://www.cnblogs.com/shengyang17/p/10793458.html