媒介
最近事情较量忙,工作也较量多。加班回抵家都十点多了,洗个澡就想睡觉了。所觉得了不绝更太多天,偷懒写个小能力合集吧。之后有时间城市举办文章更新的。原创不易,码字不易,还但愿各人多多支持!话不多说,开始本日的能力合集吧~
配置网站图标
本来我们在利用tomcat
开拓时,配置网站图片时,即icon图标时,一般都是直接替换root
包下的favicon.ico
替换本钱身的,可能在网页的头部配置link
的ref为icon
然后配置其href
值。而在SpringBoot
中,替换图片也是很简朴的,只需要将自界说图片安排在静态资源
目次下即可,即默认有static
、public
、resources
、/META-INF/resources
可能自界说的静态目次下即可。
目次布局:
答允跨域会见
CORS是一个W3C尺度,全称是”跨域资源共享”(Cross-origin resource sharing)。它答允欣赏器向跨源(协议 + 域名 + 端口)处事器,发出XMLHttpRequest请求,从而降服了AJAX只能同源利用的限制。
简朴来说,跨域问题是可以通过nginx
来办理的,可能通过jsonp(只支持get请求)
来办理。而SpringBoot
中也提供了设置要领。
0.操作@CrossOrigin
注解,可放至在类上可能要领上。类上代表整个节制层所有的映射要领都支持跨域请求。
@CrossOrigin(origins = "http://blog.lqdev.cn", maxAge = 3600) @RestController public class demoController{ @GetMapper("/") public String index(){ return "hello,CORS"; } }
1.设置全局CORS
设置。官网也有给出实例,详细如下:
@Configuration public class MyConfiguration { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**").allowedOrigins("https://blog.lqdev.cn"); } }; } }
独立Tomcat运行
讲授了这么久,一般上我们都是通过jar包的方法举办启动的应用的。所以陈设在独立的
tomcat
时,需要如何办理呢?其实也简朴,只需要将项目打包方法修改为war
包,然后修改下启动类设置即可。
0.修改pom打包方法为war
,同时解除了内置的tomcat
。
<packaging>war</packaging> <!-- 解除内置的tomcat --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>compile</scope> </dependency> <!-- 若直接有利用servlet工具时(这是空话,⊙﹏⊙‖∣),需要将servlet引入,本例是没有的~ --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency>
1.改革下启动类,使其担任SpringBootServletInitializer
,同时包围configure
要领。
@SpringBootApplication @Slf4j public class ChapterApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(ChapterApplication.class, args); // new SpringApplicationBuilder().sources(ChapterApplication.class).web(false).run(args); //之后这里配置业务逻辑 好比挂起一个线程 可能配置一个按时任务。担保不退出 //否则它就是一个启动类,启动后就遏制了。 log.info("jar,chapter启动!"); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { log.info("外部tomcat,chapter启动!"); return application.sources(ChapterApplication.class); } }
2.maven打包成war(mvn clean install
),然后放入tomcat中,启动运行即可。
其实这样配置的话,在开拓时直接运行启动类也照旧可以直接运行的,利便.
启动不配置端口