@Service用于标注业务层组件 : 将当前类注册为spring的Bean @Controller用于标注控制层组件(如struts中的action) @Repository用于标注数据访问组件,即DAO组件 @Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注.: 将当前类注册为spring的Bean 实例: DemoService :文件: package ch2.el; import org.springframework.beans.factory.anno…
做web开发的时候,我们往往会有很多静态资源,如html.图片.css等.那如何向前端返回静态资源呢?以前做过web开发的同学应该知道,我们以前创建的web工程下面会有一个webapp的目录,我们只要把静态资源放在该目录下就可以直接访问.但是,基于Spring boot的工程并没有这个目录,那我们应该怎么处理? 一.最笨的方式 我们首先来分享一种最笨的办法,就是将静态资源通过流直接返回给前端,我们在maven工程的resources的根目录下建立一个html的目录,然后我们把html文件放在该目…
Spring Boot的静态资源,比如图片应该放在什么位置呢, 如果你放在传统WEB共的类似地方, 比如webapp或者WEB-INF下,你会得到一张示意文件未找到的破碎图片.那应该放哪里呢? 百度一搜, 各种长篇大论,让人头痛. 1. 默认位置: Spring Boot能大大简化WEB应用开发的原因, 最重要的就是遵循“约定优于配置”这一基本原则.Spring Boot的关于静态资源的默认配置已经完全满足绝大部分WEB应用的需求.没必要去弄手续繁杂的自定义,用Spring Boot的约定就好了…
这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下   在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,…
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看.今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回答这个问题. CommandLineRunner定义初始化类 MyCommandLineRunner实现 CommandLineRunner 接口,并实现它的 run() 方法,在该方法中编写初始化逻辑注册成Bean,添加 @Component注解即可示例代码如下: @Component publi…
配置视图解析器spring.mvc.view.prefix=/pages/spring.mvc.view.suffiix= spring boot 开静态资源访问application.proertiesspring.mvc.static-path-pattern=/static/**…
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看.今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回答这个问题. CommandLineRunner 定义初始化类 MyCommandLineRunner 实现 CommandLineRunner 接口,并实现它的 run() 方法,在该方法中编写初始化逻辑 注册成Bean,添加 @Component注解即可 示例代码如下: package cn.z…
在使用spring boot 整合quartz的时候,新建定时任务类,实现job接口,在使用@AutoWire或者@Resource时,运行时出现nullpointException的问题.显然是相关类没有注入进来,通过查询相关资料发现是quartz的问题,是job类是没有交给spring来管理. 解决办法: 创建一个jobFactory类 @Configuration public class MyJobFactory extends SpringBeanJobFactory { @Autow…
问题描述 当使用spring Boot来架设服务系统时,有时候也需要用到前端页面,当然就不可或缺地需要访问其他一些静态资源,比如图片.css.js等文件.那么如何设置Spring Boot网站可以访问得到这些静态资源,以及静态资源如何布局? 解决方案 这里引用stackoverflow网站的问题截图:[http://stackoverflow.com/questions/27381781/java-spring-boot-how-to-map-my-my-app-root-to-index-ht…
由于需要访问MongoDB,但是本地开发环境不能直接连接MongoDB,需要通过SecureCRT使用127.0.0.2本地IP代理.但是程序部署到线上生产环境后,是可以直接访问MongoDB的,因此开发好程序后,总是要修改一下MongoDB服务器的IP才能提交代码,这样很是不方便. private static final String PUBCHAT_HOST = "127.0.0.2"; // private static final String PUBCHAT_HOST =…
概述: 今天在使用spring boot框架的时候,踩了一个坑,是关于control层request body依赖注入的问题的,内容如下: 进过: 由于目前公司采用的系统架构,要求把springboot的control层,以接口的形式单独暴露出入,而具体control层的代码,则放在另一个包里实现.这种把control层以接口方式实现的方式,导致了我今天在使用spring boot的@RequestBody的注解的时候,出了问题. 根据我之前的经验,我是把control层的相关注解,都放在了接口…
./ 当前目录../ 父级目录/ 根目录 spring boot 打包时: The default includes are as follows: 默认包括的文件 public/**, resources/**, static/**, templates/**, META-INF/**, * The default excludes are as follows: .*, repository/**, build/**, target/**, **/*.jar, **/*.groovy 默认排…
spring boot 1.5 版本之前 不拦截静态资源 springboot 2.x版本 拦截静态资源 private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/&quo…
1.spring boot默认资源处理 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. spring boot默认加载文件的路径是: /META-INF/resources/ /resources/ /static/ /public/ 这些目录下面, 当然我们也可以从spring boot源码也可以看到Java代码: private static final String[] CLASSPATH_RESOURCE_L…
前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfigurerAdapter. 正文 前面章节我们也有简单介绍过SpringBoot中对静态资源的默认支持,今天详细的来介绍下默认的支持,以及自定义扩展如何实现. 默认资源映射 Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性. 建议大家使用Spring Boot的默认配置方式,提供的静态资源映射如下: classpath:/M…
在上一节使用是配置文件的方式进行使用druid,这里在扩散下使用编程式进行使用Druid,在上一节我们新建了一个类:DruidConfiguration我在这个类进行编码: package com.kfit.base.servlet; import java.sql.SQLException; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Value; import org.spr…
回顾热部署 Spring Boot 中的热部署相信大家都用过吧,只需要添加 spring-boot-devtools 依赖就可以轻松实现热部署.Spring Boot 中热部署最最关键的原理就是两个不同的 classloader: base classloader restart classloader 其中 base classloader 用来加载那些不会变化的类,例如各种第三方依赖,而 restart classloader 则用来加载那些会发生变化的类,例如你自己写的代码.Spring…
今天被问到重定向的问题,后续又引起了静态资源路径配置的问题,在这里做一个总结,当然,顺便添加默认访问index.html. 一:默认访问 1.默认路径 在springboot中静态资源的映射文件是在resources目录下的static文件夹. 2.访问index.html 在项目中,如何访问我们的index.html呢. 首先看程序结构. 然后启动项目. 输入localhost:8090就可以访问了,这个是默认的,不需要具体的写index.html 二:重定向 1.程序 package com…
用过Idea朋友都知道,它有一个非常让人喜欢的功能就是:打算在某个a目录下创建一个hello.class文件,那么你仅需要右键点击New-Java Class- 然后输入名字:a.hello 即可. 注意!但是这个方法在Resource文件夹下并不会适用. Spring Boot 使用静态文件,需要在Resource下新建文件夹,并且使用特定的名字,外界才可以访问到,具体名字如下: static public resources META-INF/resources 如果我按照上面的方法,直接在…
CommandLineRunner 定义初始化类 MyCommandLineRunner 实现 CommandLineRunner接口,并实现它的 run()方法,在该方法中编写初始化逻辑 注册成Bean,添加 @Component注解即可 示例代码如下: @Component public class MyCommandLineRunner implements CommandLineRunner { @Override public void run(String... args) thro…
在上一章学习了spring boot 2.0启动的大概流程以后,今天我们来深挖一下SpringApplication实例变量的run函数. 先把这段run函数的代码贴出来: /** * Run the Spring application, creating and refreshing a new * {@link ApplicationContext}. * @param args the application arguments (usually passed from a Java m…
前言 在之前的博文(Spring Boot自动配置原理与实践(一))中,已经介绍了Spring boot的自动配置的相关原理与概念,本篇主要是对自动配置的实践,即自定义Starter,对原理与概念加深理解. 本篇是我在实际工作中配置的用于弱口令检查的Starter,能方便嵌入到用户模块中的相关密码接口或方法,对弱口令进行检查并反馈,当然由于是公司内部代码,部分代码省略. 一.Starter实践 1.配置Maven依赖 Spring Boot自动化配置主要依赖如下两个包: spring-boot-…
上一章我把整个后台的搭建和逻辑给写出来了,也贴的相应的代码,这章节就来看看怎么使用Thymeleaf模板引擎吧,Spring Boot默认推荐Thymeleaf模板,之前是用jsp来作为视图层的渲染,但是Spring Boot对jsp的支持并不好,所以我还是跟着Spring老大哥的指引走吧,错也错不到哪里去! 在pox.xml里面增加 <dependency> <groupId>org.springframework.boot</groupId> <artifac…
前言 接上篇,已经完成了一个SpringBoot项目的基本搭建.那么现在就要考虑要做什么,怎么做的问题.所以本篇内容不多,带大家一起来简单了解一下要做的东西,之前有很多人不知道从哪里下手,那么今天我带着大家熟悉LayIM以及它的对接思路.由于重点是SpringBoot,所以,LayIM部分也不会讲的太细,官网有详细的文章. LayIM有什么? 非常舒服的UI 封装了友好的聊天界面,消息记录,自定义插件,添加好友,添加群组等等功能,前端的东西完全不必费心,把重心放到实现业务上. 完善的文档,开发起…
之前介绍了Spring Boot 整合mybatis 使用xml配置的方式实现增删改查,还介绍了自定义mapper 实现复杂多表关联查询.虽然目前 mybatis 使用xml 配置的方式 已经极大减轻了配置的复杂度,支持 generator 插件 根据表结构自动生成实体类.配置文件和dao层代码,减轻很大一部分开发量:但是 java 注解的运用发展到今天.约定取代配置的规范已经深入人心.开发者还是倾向于使用注解解决一切问题,注解版最大的特点是具体的 SQL 文件需要写在 Mapper 类中,取消…
前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库操作中的常用操作. 其实,mybatis 注解方式 和 XML配置方式两者的使用基本上相同,只有在构建 SQL 脚本有所区别,所以这里重点介绍两者之间的差异,以及增删改查,参数传递等注解的常用操作. Spring Boot 整合mybatis 使用xml配置版之前已经介绍过了,不清楚的朋友可以看看之…
XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springfram…
转载:http://blog.csdn.net/linxingliang/article/details/52001744 在上一节使用是配置文件的方式进行使用druid,这里在扩散下使用编程式进行使用Druid,在上一节我们新建了一个类:DruidConfiguration我在这个类进行编码: package com.kfit.base.servlet; import Java.sql.SQLException; import javax.sql.DataSource; import org.…
在application.propertis中配置 ##端口号server.port=8081 ##默认前缀spring.mvc.view.prefix=/## 响应页面默认后缀spring.mvc.view.suffix=.html # 默认值为 /**spring.mvc.static-path-pattern=/**# 这里设置要指向的路径,多个使用英文逗号隔开,默认值为 classpath:/META-INF/resources/,classpath:/resources/,classp…
参考:https://www.cnblogs.com/SimonHu1993/p/8360701.html 一定要将 拦截器组件 交给spring容器进行管理,这样才能注入配置值,或者注入bean: package com.thunisoft.maybeemanagementcenter.interceptor; import org.springframework.beans.factory.annotation.Value; import org.springframework.contex…