
spring
文章平均质量分 61
InAHurryv
或取诸怀抱悟言一室之内
展开
-
README
Spring如何解决循环引用的Bean 循环引用是什么?在 Spring 容器中,非懒加载的单例对象会在 IOC 容器创建后进行加载,而常说的 Spring 循环引用问题也是在此时发生的。假设,我想要向 Spring 容器注册两个单例对象 A 与 B,其中 A 对象存在 B 属性,B 对象存在 A 属性(由于单例的特性,该容器只会存在一个该类型的对象),因此会构成循环引用。图示与代码如下:@Component // 向容器注册一个单例(默认单例)对象 Aclass A{@Autowired //转载 2021-08-23 14:00:52 · 134 阅读 · 0 评论 -
Spring IOC AOP MVC面试
spring IOC 是 控制反转模式的一种实现,那么到底是什么反转了,IOC 容器帮我们管理对象和自己创建对象 并管理有什么好处?控制反转指的是对象的获得方式反转了,之前我们需要将需要的对象都需要自己创建并耦合进自己的对象中,现在只是将获得依赖对象的方式由自己交给了IOC容器,从而实现解耦合。Spring IOC容器 的启动流程?Spring IOC容器 到底是什么?简单来说就是可以存放对像并且可以管理bean的生命周期,同时实现对象获得的控制反转。对于对象的管理BeanFactory 接口规定了一原创 2021-03-31 23:04:15 · 93 阅读 · 0 评论 -
spring security面试
spring security 是构建在一系列filter之上的,这些filter会拦截请求,检测身份信息并将其重定向到身份认证组件或者授权组件,我自己常用的是UsernamePasswordAuthenticationFilter + AuthenticManager + 真正的调用提供者Provider。每一个Filter都要有AuthenticManager ,从而可以用其调用authenticate方法,进而找到ProviderManager 中的Provider 的authenticate方法进行原创 2021-03-12 19:37:13 · 10885 阅读 · 0 评论 -
spring 外部资源配置 以及自定义starter场景
参考资料1. Spring Boot will automatically find and load application.properties and application.yaml files from the following locations when your application starts:2. The classpath root3. The classpath /config package4. The current directory5. The /config原创 2021-02-24 22:19:55 · 215 阅读 · 0 评论 -
spring-boot-actuator的使用
1、基本使用引入starter <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>application.yml文件management: endpoints.原创 2021-02-24 18:55:49 · 122 阅读 · 0 评论 -
Durid java数据库连接池 的使用
1、自定义方式导入Maven依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.5</version> </dependency>创建配置类MyDatasourceCon原创 2021-02-23 20:43:40 · 165 阅读 · 0 评论 -
SpringBoot内嵌服务器启动流程
我们知道spring 底层是servlet,而servlet必须运行在web容器中,而我们使用spring 并没有使用自己定义的tomcat,那为什么会有Tomcat给我们用呢?org.springframework.boot:spring-boot-starter-tomcat:2.4.3ServletWebServerFactoryAutoConfiguration.java 中会首先导入ServletWebServerFactoryConfiguration.EmbeddedTomcat.cla原创 2021-02-22 23:56:58 · 351 阅读 · 0 评论 -
DispatcherServlet如何注册为Servlet 做服务调度的
1、首先定义该类 然后被spring 容器管理,@Bean(name = DEFAULT_DISPATCHER_SERVLET_BEAN_NAME) public DispatcherServlet dispatcherServlet(WebMvcProperties webMvcProperties) { DispatcherServlet dispatcherServlet = new DispatcherServlet(); dispatcherServlet.setDis..原创 2021-02-22 22:06:48 · 258 阅读 · 1 评论 -
spring mvc中的异常处理
1、在/error下的4xx.html 或者5xx.html 会被自动解析,所以自定义错误页放在该目录下就可以被解析到。To map all 5xx errors by using a FreeMarker template, your directory structure would be as follows:src/ +- main/ +- java/ | + <source code> +- resources/ +- ..原创 2021-02-22 18:27:06 · 118 阅读 · 0 评论 -
Spring MVC 中 Interceptor 的浅显用法
应用:对于某些url 执行拦截 验证。1、书写 HandlerInteceptor 的实现类Intercept the execution of a handler. Called after HandlerMapping determined an appropriate handler object, but before HandlerAdapter invokes the handler.DispatcherServlet processes a handler in an executi原创 2021-02-21 21:18:38 · 134 阅读 · 0 评论 -
spring 循环依赖 form stackoverflow
The Spring container is able to resolve Setter-based circular dependencies but gives a runtime exception BeanCurrentlyInCreationException in case of Constructor-based circular dependencies. In case of Setter-based circular dependency, the IOC container ha.转载 2021-02-19 17:15:10 · 144 阅读 · 0 评论 -
mybatis的使用
单独使用1、 引入jar包<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version></dependency>2、编写mybatis-config.xml<?xml version="1.0" encoding="UTF-8" ?>.原创 2021-02-17 16:03:18 · 125 阅读 · 0 评论 -
了解JDK代理
spring 中动态代理应用广泛。如果是静态代理需要代理和被代理对象实现相同的接口,(其实代理就是代理接口!!!!!)。而动态代理的动态就体现在不是我们自己写代码new 出代理对象,而是利用JDK的Proxy的静态方法生成代理对象。其有三个参数类加载器使用同一个类加载器加载的类才能比较相同代理接口列表代理 终究是要作为目标对象 调用,需要知道其代理的接口从而生成代理对象。调用处理器当真正发生调用的时候,我们可以在调用处理器调用方法之前或者之后加入自己的逻辑。优雅的写法public原创 2021-02-15 19:49:14 · 108 阅读 · 0 评论