SpringBoot(L)
来源:互联网 发布:沭阳网络问政12345 编辑:程序博客网 时间:2024/06/14 05:00
1.创建springboot项目(war)
2.添加tomcat和jstl依赖(pom.xml)
<!-- 1.添加 --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!-- jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
3.配置springmvc前缀和后缀(application.properties)
# 前缀spring.mvc.view.prefix=/WEB-INF/jsp/# 后缀spring.mvc.view.suffix=.jsp
4.日志配置(logback.xml)
<?xml version="1.0" encoding="UTF-8"?><configuration> <!--定义 start --> <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d %p (%file:%line\) - %m%n</pattern> <charset>UTF-8</charset> </encoder> </appender> <appender name="baselog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>log/base.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>log/base.log.%d.%i</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- or whenever the file size reaches 64 MB --> <maxFileSize>64 MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern> %d %p (%file:%line\)- %m%n </pattern> <charset>UTF-8</charset> <!-- 此处设置字符集 --> </encoder> </appender> <!--定义 end --> <!-- 1.默认日志格式并写入文件 --> <include resource="org/springframework/boot/logging/logback/base.xml"/> <logger name="cn.wuyang.springboot" level="TRACE" > <appender-ref ref="baselog" /> </logger></configuration>
5.中文乱码过滤器MyFilter.java
方法一
package cn.wuyang.springboot.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.annotation.WebFilter;/** * 使用注解标注过滤器 * @WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器 * 属性filterName声明过滤器的名称,可选 * 属性urlPatterns指定要过滤 的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性) * */@WebFilter(filterName="myFilter",urlPatterns="/*")public class MyFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); chain.doFilter(request, response); } @Override public void init(FilterConfig arg0) throws ServletException { }}
方法二
application.properties添加
spring.http.encoding.charset=UTF-8spring.http.encoding.enabled=truespring.http.encoding.force=true
6.配置默认启动页 (MyWebAppConfigurer .java)
package cn.wuyang.springboot.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;/** * 1.拦截器:继承WebMvcConfigurerAdapter,并重写 addInterceptors 方法。 * 2.自定义资源映射:继承 WebMvcConfigurerAdapter 并重写方法 addResourceHandlers方法 * 3.默认启动方法重写addViewControllers * @author wuyang * */@Configurationpublic class MyWebAppConfigurer extends WebMvcConfigurerAdapter { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("admin/index"); super.addViewControllers(registry); }}
7.配置热启动pom.xml
首先集成jar包
<!-- 2.热启动 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
其次在
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <!-- 2.热启动 添加--> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.5.RELEASE</version> </dependency> </dependencies> </plugin> </plugins> </build>
8.spring boot banner设置(可选)
banner生成器
http://www.cnblogs.com/woshimrf/p/banner-ascii-2-txt.html
_______ _ _______ |\ /||\ /||\ /|( ___ )( ( /|( ____ \ | ) ( || ) ( |( \ / )| ( ) || \ ( || ( \/ | | _ | || | | | \ (_) / | (___) || \ | || | | |( )| || | | | \ / | ___ || (\ \) || | ____ | || || || | | | ) ( | ( ) || | \ || | \_ ) | () () || (___) | | | | ) ( || ) \ || (___) | (_______)(_______) \_/ |/ \||/ )_)(_______)
${AnsiColor.BRIGHT_RED}:设置控制台中输出内容的颜色${application.version}:用来获取MANIFEST.MF文件中的版本号${application.formatted-version}:格式化后的${application.version}版本信息${spring-boot.version}:Spring Boot的版本号${spring-boot.formatted-version}:格式化后的${spring-boot.version}版本信息
9.引入版本号统一
首先在pom.xml 中添加依赖:
<dependency> <groupId>org.webjars</groupId> <artifactId>webjars-locator</artifactId></dependency>
然后增加一个WebJarsController:
package cn.wuyang.springboot.controller.base;import javax.servlet.http.HttpServletRequest;import org.springframework.core.io.ClassPathResource;import org.springframework.http.HttpStatus;import org.springframework.http.ResponseEntity;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.HandlerMapping;import org.webjars.WebJarAssetLocator;/** * 处理WebJars,自动读取版本号 * */@Controllerpublic class WebJarsController { private final WebJarAssetLocator assetLocator = new WebJarAssetLocator(); @ResponseBody @RequestMapping("/webjarslocator/{webjar}/**") public ResponseEntity<Object> locateWebjarAsset(@PathVariable String webjar, HttpServletRequest request) { try { String mvcPrefix = "/webjarslocator/" + webjar + "/"; // This prefix must match the mapping path! String mvcPath = (String) request.getAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); String fullPath = assetLocator.getFullPath(webjar, mvcPath.substring(mvcPrefix.length())); return new ResponseEntity<>(new ClassPathResource(fullPath), HttpStatus.OK); } catch (Exception e) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } }}
10.资源名称md5方式
添加 application.properties 配置文件(或.yml)
spring.resources.chain.strategy.content.enabled=truespring.resources.chain.strategy.content.paths=/**
所有 /** 请求的静态资源都会被处理。
创建 ResourceUrlProviderController 文件
package cn.wuyang.springboot.controller.base;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.servlet.resource.ResourceUrlProvider;/** * 处理静态资源URL * */@ControllerAdvicepublic class ResourceUrlProviderController { @Autowired private ResourceUrlProvider resourceUrlProvider; @ModelAttribute("urls") public ResourceUrlProvider urls() { return this.resourceUrlProvider; }}
11.集成jquery
我们只需要在pom.xml 文件中添加jquery的webjars 依赖即可,如下
<dependency> <groupId>org.webjars</groupId> <artifactId>jquery</artifactId> <version>3.1.0</version></dependency>
未完待续。。。。。。。。
阅读全文
1 0
- SpringBoot(L)
- springboot(四、springboot+mybatis)
- oj(二)l
- gcc -I(大写的i),-L(大写L)和-l(小写的L)详解
- l
- .,l
- l
- l
- l
- ';l
- L
- l【
- ,l,
- L
- l
- L
- L
- L
- ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别
- 51Nod 1287 加农炮 (线段数单点更新单点查询)
- 使用MyBatis_Generator工具jar包自动化生成Dto、Dao、Mapping 文件
- HTML5的语法
- cxf 简单例子学习
- SpringBoot(L)
- HDU 6165 FFF at Valentine
- JS之JQuery补充
- Intellij14创建Spring-Mybatis项目创(填)建(坑)记录,解决IDEA下找不到xml文件的问题
- STL系列之一 deque双向队列
- java知识点(1)
- HashMap和Hashtable的区别
- SDIO接口WiFi驱动浅析
- 1644: 题目 C 多连块拼图