- 浏览: 385753 次
- 性别:
- 来自: 上海
最新评论
文章列表
Spring Boot 添加拦截器
- 博客分类:
- Spring Boot
Spring Boot实现自定义的拦截器步骤:
1、创建我们自己的拦截器类并实现 HandlerInterceptor 接口。
public class MyInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Ob ...
用Spring Boot + Maven构筑的项目,需要引入公司自定义的jar包,maven中央库中并没有。
这时,可以有两种解决方案。
第一种:将自定义的jar包deploy到maven库中。但如果第三方jar包太多就会很麻烦;
第二种:跟普通jar包一样,引入依赖。
<dependency>
<groupId>company_jar</groupId>
<artifactId>company-self-sdk</artifactId>
<version>1.0</version> ...
在使用Spring Boot 时,会在浏览器上显示一个绿叶的图标。
此时,如果需要替换为自己网站的图标,该如何解决?
解决方案:
在static目录下,新建images文件夹,在images文件夹中,放入自己网站的图标,名称为:favicon.ico。(当然,假如为jsp页面,在webapp目录下,放入图标同样可行)然后,在每个页面中,引用代码:
<link rel="icon" type="image/x-icon" href="/images/favicon.ico">
http://blog. ...
一、修改打包形式
在pom.xm设置:
<packaging>war</packaging>
二、移除嵌入的tomcat包
在pom.xml设置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
...
引用关于IntrospectorCleanupListener一段解释:
在服务器运行过程中,Spring不停的运行的计划任务和OpenSessionInViewFilter,使得Tomcat反复加载对象而产生框架并用时可能产生的内存泄漏,则使用IntrospectorCleanupListener作为相应的解决办法。
Spring中的提供了一个名为org.springframework.web.util.IntrospectorCleanupListener的监听器。它主要负责处理由 JavaBeans Introspector的使用而引起的缓冲泄露。
Spring中对它的描述如下: ...
,1.在pom.xml中添加maven插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<dependencies>
<dependency>
<groupId> mysql& ...
使用Java的HttpURLConnection类可以实现HttpClient的功能,而不需要依赖任何其他类库。但是,如果你需要访问的网站被墙了,那HttpURLConnection类就会出现连接超时的错误。这时候就需要给他设置代理(Proxy)了。
设置代理(Proxy)可以有两种方式:
1、通过设置系统属性(System.setPropery(String key, String value)的方式
首先你可以在这里看到Java支持的属性。我们可以使用其中的http.proxyHost,http.proxyPort这两个属性。顾名思义,就是分别设置代理服务器地址和代理端口。
...
/*
* 设置指定键对值的系统属性
* setProperty (String prop, String value);
*
* 参数:
* prop - 系统属性的名称。
* value - 系统属性的值。
*
* 返回:
* 系统属性以前的值,如果没有以前的值,则返回 null。
*
* 抛出:
* SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允许设置指定属性。
* NullPointerException - 如果 key 或 value 为 null。
* ...
springMVC是一个MVC框架,他控制着请求相应的整个流程,从请求一进入到应用服务器到相应离开,都离不开mvc框架。
请求过程
DisptacherServlet接收到请求,并读取出请求中的数据
DisptacherServlet根据请求中的信息(url),去Handlermapping中查找url对应的资源(如果没有则报404)
如果资源指向一个Controller,则将请求和请求数据发送给Controller
Controller处理请求(一般Controller将处理动作交给业务层处理),将处理好的数据和视图名返回给DisptacherServlet
D ...
Spring 中Bean及@Bean的理解
- 博客分类:
- Spring
注解
凡是拥有子类及带有方法或属性的类都要加上注解注册Bean到Spring IoC中。
我们在微博上@某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean或者给出一个Bean
使用Bean的注解
即是把已经在xml文件中配置好的Bean拿来用,完成属性、方法的组装;比如@Autowired , @Resource,可以通过byTYPE(@Autowired)、byNAME(@Resource)的方式获取Bean;
ContextLoadListener:
它会默认查找位于:WEB-INF/下的是否有一个文件名称为:applicationContext.xml的文件。
如果要加载其它spring配置文件,web.xml配置:
<context-param>
<param-name>
contextConfigLocation
</param-name>
<param-value>
classpath*:**/*Context.xml
</param- ...
Servlet3.0之后,提供了注解,使得不需要在web.xml中进行servlet的配置。
在原web.xml中,<load-on-startup>1</load-on-startup>的作用:
1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
3)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
4)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
4)正数的 ...
Spring @Import注解
- 博客分类:
- Spring
@Import注解在4.2之前只支持导入配置类;在4.2以及之后,@Import注解支持导入普通java类,并将其声明成一个bean。
业务类:
public class DemoService {
public void doSomething(){
System.out.println("everything is all fine");
}
}
配置类:
@Configuration
@Import(DemoService.class)
public class DemoConfig {
}
...
Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring MVC的依赖。
Spring Boot中启动类要放在root package下,推荐项目结构:
root package结构:com.example
应用启动类Application.java ...
Spring Boot启动原理解析
- 博客分类:
- Spring Boot
我们开发一个Spring Boot项目,都会用到如下的启动类
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Annotation定义(@SpringBootApplication)和类定义(Sprin ...