
Spring
文章平均质量分 94
码莎拉蒂
这个人很懒,什么也没留下。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring
spring原创 2022-11-07 22:27:59 · 217 阅读 · 0 评论 -
解读Spring容器的refresh()
Spring容器的refresh()【创建刷新】;1、prepareRefresh()刷新前的预处理; 1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法; 2)、getEnvironment().validateRequiredProperties();检验属性的合法等 3)、earlyApplicationEvents=...原创 2019-06-23 17:23:53 · 56920 阅读 · 0 评论 -
BeanPostProcessor后置处理器原理以及ApplicationListener原理
BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的1、BeanFactoryPostProcessor:BeanFactory的后置处理器; 在BeanFactory标准初始化之后调用;所有的bean定义已经保存加载到BeanFactory,但是bean的实例还没创建; BeanFactoryPostProcesso...原创 2019-06-23 13:45:15 · 56110 阅读 · 3 评论 -
Spring 声明式事务
声明式事务:环境搭建:1、导入相关依赖 数据源、数据库驱动、Spring-jdbc模块2、配置数据源、JdbcTemplate(Spring提供的简化数据库操作的工具)操作数据3、给方法上标注@Transactional标识当前方法是一个事务方法;4、@EnableTransactionManagement 开启基于注解的事务管理功能;5、配置事务管理器来控制事务;...原创 2019-06-22 22:04:27 · 44866 阅读 · 0 评论 -
AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】
AOP原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】@EnableAspectJAutoProxy1.@EnableAspectJAutoProxy是什么? @Import(AspectJAutoProxyRegistrar.class):给容器导入AspectJAutoProxyRegistrar 利用Aspe...原创 2019-06-20 21:45:20 · 50359 阅读 · 0 评论 -
Spring AOP使用示例
AOP:【面向切面编程】 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。1、导入aop模块:Spring AOP:(spring-aspects)2、定义一个业务逻辑类(MathCalculator);在业务逻辑运行的时候讲日志进行打印(方法之前、方法运行结束、方法出现异常等)3、定义一个日志切面类(LOgAspects);切面类里面...原创 2019-06-13 21:46:38 · 65325 阅读 · 5 评论 -
Spring源码解析 – AnnotationConfigApplicationContext容器创建过程
Spring源码解析 – AnnotationConfigApplicationContext容器创建过程Spring在BeanFactory基础上提供了一些列具体容器的实现,其中AnnotationConfigApplicationContext是一个用来管理注解bean的容器,从AnnotationConfigApplicationContext的实现结构图中可以看出:Annotati......转载 2019-06-12 15:58:38 · 13793 阅读 · 1 评论 -
使用spring注解注入bean
使用配置文件时一般是这样写的 <bean id="person" class="com.spring.bean.Person" > <property name="age" value="18"></property> <property name="name" value="zhangsan"></property> &...原创 2019-03-23 13:16:38 · 53379 阅读 · 0 评论 -
Spring Cloud - 7 (Spring Cloud Zuul)
Zuul基本使用@EnableEurekaClient@EnableDiscoveryClientNginx+LuaLua:控制规则(A/B Test)Spring Cloud 学习技巧:善于定位应用:Feign、ConfigServer、Eureka、Zuul、Ribbon定位应用,配置方式是不同增加@EnableZuulProxy@SpringBootApp...原创 2019-07-28 18:45:44 · 27089 阅读 · 0 评论 -
Spring Cloud - 9 (Spring Cloud Sleuth)
Spring Cloud Sleuth 整合引入Maven依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId></dependenc...原创 2019-08-04 17:06:33 · 29647 阅读 · 1 评论 -
Spring Cloud - 8 (Spring Cloud Stream)
Spring Cloud StreamKafka官方网页http://kafka.apache.org/主要用途消息中间件 流式计算处理 日志下载地址:http://kafka.apache.org/downloads执行脚本目录 /binwindows 在其单独的目录快速上手下载并且解压kafka压缩包运行服务以Wi...原创 2019-07-31 15:53:20 · 32126 阅读 · 1 评论 -
Spring Cloud - 5 (Spring Cloud Netflix Hystrix)
Spring Cloud Netflix Hystrix)服务短路(CircuitBreaker)QPS:Query Per Second TPS:Transaction Per Second QPS:经过全链路压测,计算单机极限QPS,集群QPS=单机PQS*集群机器数量*可靠性比率 全链路压测,除了压极限QPS,还有错误数量 全链路:一个完整的业务流程操作 JMeter:可调...原创 2019-07-21 22:57:54 · 38539 阅读 · 0 评论 -
Spring Cloud - 4 (Spring Cloud Netflix Ribbon)
Eureka 高可用架构高可用注册中心集群只需要增加Eurke服务器注册URL:## Eureka Server 服务 URL,用于客户端注册eureka.client.serviceUrl.defaultZone=http://localhost:9090/eureka,http://localhost:9091/eureka如果Eureka客户端应用配置了多个Eureka注...原创 2019-07-21 22:26:59 · 37931 阅读 · 0 评论 -
Spring Cloud - 3 (Spring Cloud Netflix Eureka)
pring Cloud Netflix Eureka传统服务治理XML-RPC -> XML方法描述、方法参数->WSDL(WebServices定义语言) WebServices->SOAP(HTTP、SMTP) ->(头部分、体部分) REST->JSON/XML(Schema:类型、结构)->文本协议(HTTP Header、Body) W3...原创 2019-07-21 21:23:53 · 38059 阅读 · 1 评论 -
Spring Cloud - 2 (Spring Cloud Config Server)
构建Spring Cloud配置服务器实现步骤: 1. 在Configuration Class标记@EnableConfigServer 2. 配置文件目录(基于git)cloud.properties(默认) //默认环境,跟随代码仓库 cloud-dev.properties(proflie="dev")//开发环境 cloud-test.properti...原创 2019-07-21 20:42:56 · 39143 阅读 · 3 评论 -
Spring Cloud - 6 (Spring Cloud Feign)
声明式Web服务客户端:Feign声明式:接口声明、Annotation驱动Web服务:HTTP的方式作为通讯协议客户端:用于服务调用的存根Feign:原生并不是Spring Web MVC的实现,基于JAX-RS(Java REST 规范)实现。Spring Cloud封装了Feign,使其支持Spring Web MVC。RestTemplate、HttpMessageConv...原创 2019-07-24 09:44:35 · 37098 阅读 · 0 评论 -
Spring Cloud - 1 (Spring Cloud Config Client)
预备知识发布/订阅模式java.util.Observable是一个发布者java.util.Observer是订阅者发布者和订阅者:1:N发布者和订阅者:N:M事件/监听模式java.util.EventObject:事件对象 *事件对象总是关联着事件源(Source)java.util.EventListener:事件监听接口Spri...原创 2019-07-15 22:52:20 · 38574 阅读 · 0 评论 -
@Autowired的使用,与@Resource、@Inject的区别
自动装配: spring利用依赖注入(DI),完成对IOC容器中各个组件的依赖关系赋值;1) @Autowired:自动注入: 1. 默认优先按照类型去容器中找对应的组件:applicationContext.getBean(BookDao.class); 2. 如果找到多个相同类型的组件,再将属性的名称座位组件的id去容器中查找 a...原创 2019-06-12 11:11:15 · 16808 阅读 · 4 评论 -
Bean的初始化过程
Bean的初始化过程 Bean的初始化过程 bean创建-->初始化-->摧毁容器管理bean的声明周期我们可以自定义初始化和摧毁方法;容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和摧毁方法构造(对象创建) 单实例:在容器启动时创建对象 多实例:在每次获取时创建对象初...原创 2019-06-10 15:14:05 · 14889 阅读 · 2 评论 -
@Profile注解详解
@Profile注解详解@Profile: Spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;开发环境develop、测试环境test、生产环境master数据源:(/dev) (/test) (/master)@Profile:指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件...原创 2019-06-12 22:52:35 · 102856 阅读 · 7 评论 -
spring容器注册组件的方法
给容器中注册组件的方法1、包扫描+组件标注注解@Configuration(@Controller/@Service/@Repository/@Component)2、@Bean[导入的第三方包里面的组件]3、@Import[快速给容器中导入一个组件] 3.1、@Import(到要入到容器中的组件);容器中就会自动注册这个组件,id默认是全类名 ...原创 2019-03-24 15:12:02 · 59408 阅读 · 0 评论 -
spring注解@Conditional 按照一定的条件进行判断,满足条件给容器中注册bean
public class Person { private String name ; private int age ; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() {...原创 2019-03-24 12:55:27 · 59213 阅读 · 0 评论 -
IOC容器单例与多例
IOC默认使用单例模式创建Bean,默认在spring容器启动时会自动创建对象。@Lazy 懒加载:容器启动不创建对象,而在第一次使用Bean时创建对象,并初始化。@Configurationpublic class MainConfig2 { @Lazy @Bean public Person person() { System.out.println("创建------...原创 2019-03-24 12:19:31 · 62309 阅读 · 0 评论 -
Spring常用注解及自定义Filter
@Configuration通常用在配置类上,告诉spring这是一个配置类(配置类类似配置文件,区别在于用类的形式来表现xml;@Service用于标注业务层组件service层,@Controller用于标注控制层组件(如struts中的action) ,@Repository用于标注数据访问组件,即DAO组件,@component把普通pojo实例化到spring容器中...原创 2019-03-23 19:53:13 · 60231 阅读 · 0 评论 -
@Resource 和 @Autowired 的区别
@Resource 默认通过名称注入 ,如名称无找到则通过类型注入@Autowired默认通过类型注入,如存在多个类型则通过名称注入//@Resource 默认通过名称注入 ,如名称无找到,则通过类型注入@Resourceprivate IUserService userService;例一存在一个实现类: UserServiceImpl.java 自动注入...转载 2019-11-08 14:26:23 · 5716 阅读 · 1 评论 -
AnnotationAwareAspectJAutoProxyCreator【InstantiationAwareBeanPostProcessor】的作用
AnnotationAwareAspectJAutoProxyCreator【InstantiationAwareBeanPostProcessor】的作用AnnotationAwareAspectJAutoProxyCreator【InstantiationAwareBeanPostProcessor】的作用: 1、每一个bean创建之前,调用postProcessBeforeInsta...原创 2019-06-22 15:14:15 · 50821 阅读 · 0 评论 -
AOP的五种通知
原文 https://blog.youkuaiyun.com/luoxiao2554/article/details/80427817基于XML的SpringAOP开发在XML中配置AOP<!-- AOP配置 --><aop:config> <!-- 配置切入点:告诉spring框架哪些方法需要被增强 --> <aop:pointcu...转载 2019-04-02 15:49:03 · 55272 阅读 · 0 评论 -
SpringBoot除了jar、war启动的方式,还有一种启动方式
SpringBoot除了jar\war启动的方式,还有一种启动方式:目录启动方式目录启动方式可以帮助解决过去的jar不支持spring boot新方式,比如老版本的MyBatis在META-INF/MANIFEST.MF中找到两个指定属性 Main-Class:org.springframework.boot.loader.JarLauncher Start-Class:com...原创 2019-07-13 22:32:40 · 39571 阅读 · 1 评论 -
springboot 静态方法注入service
解决springboot项目中无法使用@Autowired注入sevice,需要手动初始化,初始化后才可使用@Component public class Utils { @Autowired private Service service; private static Utils utils; public void setUserInfo(Service service) ...转载 2019-12-06 18:07:24 · 2275 阅读 · 0 评论 -
Spring中Bean的生命周期以及IOC与AOP加载过程
首先说一下Bean的生命周期Bean的生命周期创建Bean>>初始化>>摧毁1.创建Bean 当设置Bean为单例时,在spring容器启动时会创建Bean。 当设置Bean为多例是,在调用Bean时才会被创建。2.初始化 使用init()来完成Bean的初始化操作,在初始化环节中,可以使用BeanPostProcesser(后置处...原创 2019-08-18 19:54:14 · 23543 阅读 · 0 评论 -
Spring工作原理与单例ThreadLocal
最近看到spring管理的bean为单例的,当它与web容器整合的时候始终搞不太清除,就网上搜索写资料,Tomcat与多线程servlet是多线程执行的,多线程是容器提供的能力。 servlet为了能并发执行, 是因为servlet被这些thread使用,tomcat里创建响应的socketServer线程类接收请求连接,然后在再创建或引用对应的servlet实例来处理请求连接。se...转载 2019-08-01 15:44:40 · 26234 阅读 · 1 评论 -
StringUtils字符串分割转数组
我们在日常开发时会经常遇到将一个字符串按照指定的字符进行分割。这时,我们往往会想到使用str.split(","),进行处理得到分割后的数组。然而, 使用split()方法在分割特殊的字符时是需要转移的。如小数点“.”下面我为大家推荐一种可以无需转义,即可分割的方法。使用org.springframework.util.StringUtils 中的 delimitedLis...原创 2019-07-14 12:35:40 · 44025 阅读 · 0 评论 -
SpringBoot事务
重要概念 自动提交模式 对于mysql数据库,默认情况下,数据库处于自动提交模式。每一条语句处于一个单独的事务中,在这条语句执行完毕时,如果执行成功则隐式的提交事务,如果执行失败则隐式的回滚事务。对于正常的事务管理,是一组相关的操作处于一个事务之中,因此必须关闭数据库的自动提交模式,下面是查看方式:查看是否自动提交命令(ON表示开启自动提交,值为1,OFF表示关闭自动...原创 2019-07-13 18:33:49 · 47913 阅读 · 2 评论