ioc理论导论 1.UserDao 接口 2.UserDaoimpl 实现类 3.UserService 业务接口 4.UserServiceimpl 业务实现类 bean的生命周期 依赖注入:spring框架核心ioc的体现 通过控制反转,把对象的创建权交给了spring 注入的数据类型 1.普通数据类型 2.引用
对于spring的生命周期,在宏观角度来看,可以分为实例化前、实例化、实例化后、初始化前、初始化、初始化后。 实例化前:通过实现BeanPostProcessor接口的postProcessBeforeInitialization方法,就可以在对象实例化之前进行操作 @Componentpublic class WxyBeanPostProcessor impleme
package com.itheima.d1_junit; /** * 业务方法 */ public class UserService { public String loginName(String loginName , String passWord){ if("admin".equals(loginName) && "123456".equals(passWord)){
Moq在.net中比较出名的mock框架,NSubstitute也是属于这类框架,使用方式也如出一辙,是通过实现子类来达到mock的效果。下面的测试方法都是按照 UnitTest的三板斧Arrange Act Assert来展开的,代码具体如下。 using Microsoft.VisualBasic; using NSubstitute; using NSubsti
Moq在.net中比较出名的mock框架,NSubstitute也是属于这类框架,使用方式也如出一辙,是通过实现子类来达到mock的效果。下面的测试方法都是按照 UnitTest的三板斧Arrange Act Assert来展开的,代码具体如下。 using Microsoft.VisualBasic; using NSubstitute; using NSubsti
事务操作 一、事务概念1. 什么是事务2. 事务的特效(ACID) 二、事务操作的环境搭建1. 建表2. 目录结构3. 相关类的创建 三、Spring事务管理介绍1. 注解声明式事务管理2. 事务参数① propagation:事务传播行为② ioslation:事务隔离级别③ timeout:超时时长④ readOnly:是否
Spring :是一种轻量级开源框架 两大核心 IOC 反转控制:实例的创建不由调用者管理,而是由Spring容器创建管理。 在控制权上发生了反转~ (作用:摆脱了项目里复杂的对象管理工作 AOP 面向切面编程: 一般采用服务端三层架构: 表现层(web):测试、客户、用户操作 业务层(service):逻辑代码
1导入redis依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.配置redis spring: datasource: u
为什么三层架构中业务层(service)、持久层(dao)需要使用一个接口? 如果没有接口那么我们在控制层使用业务层或业务层使用持久层时,必须要学习每个方法,若哪一天后者的方法名改变了则直接影响到前面的调用者。这样的代码耦合度太高了 那么我们顶一个接口就能解决耦合度问题么?那当然,不然
1、如何注入Bean? 先了解一下Bean生命周期的简化版: 运行构建函数 尝试字段注入(有时同步注入,没时订阅注入。不会有相互依赖而卡住的问题) @Init 函数 ... 释放(基本不会发生) 了解这个生命过程后,可以知道注入的内容,在构建函数里是不可用的: @Service public class DemoService{
1、手动 //生成普通的Bean Aop.wrapAndPut(UserService.class, new UserServiceImpl()); //生成带注解的Bean(比如:@Controller) Aop.context().beanMake(UserServiceImpl.class); //获取Bean(如果不确定是否存在,可改用异步订阅获取) Aop.get(UserService.class); 下面2种模式,必须要
Artifact 007-zk-userservice-provider`:war exploded: Artifact is being deployed, please wait... Artifact 007-zk-userservice-provider`:war exploded: Error during artifact deployment. See server log for details. Artifact 007-zk-userservice-provider`:war expl
完全注解开发 (1)创建配置类,替代 xml 配置文件 @Configuration //作为配置类,替代 xml 配置文件 @ComponentScan (basePackages = { "com.tansun" }) public class SpringConfig { } (2)编写测试类 @Test public void testService2() { //加载配置类
创建服务 创建自己的服务类,比如UserService app/Http/Services/UserService.php 将服务注册到容器 打开文件AppServiceProvider.php app/Providers/AppServiceProvider.php 编辑register方法,添加 class AppServiceProvider extends ServiceProvider { public function regis
Spring中的注入方式 Spring中有几种注入方式 字段注入构造注入setter方法注入 字段注入 字段注入是平时开发中最常使用的注入方式,因为简单方便,可读性强。但是Spring官方不建议我们使用这种注入方式,在IDEA中使用字段注入时会给出黄牌警告。如下代码所示: package com.wxw.contr
1.Dubbo快速入门 2.现在需要修改dubbo-web和dubbo-service这两个模块; 1)首先,先修改dubbo-service模块的代码; (1)先修改pom.xml文件加入打包方式为war包; (2)接着修改pom.xml文件中的tomcat插件部分的端口号为9000; (3)在UserServiceImpl类中注掉类上的@Service,然后重新在类上加下@
spring三级缓存解决循环依赖 前言一、循环依赖二、三级缓存三、spring解决循环依赖源码级别流程分析 前言 我们都知道,在spring中属性的赋值是通过自动注入完成的,那么在自动注入的过程中它又是如何解决循环依赖的呢? 提示:本篇文章属于原创,请勿抄袭。 一、循环依
SpringBoot整合Junit 使用步骤搭建SpringBoot工程引入starter-test起步依赖编写测试类添加注解在相同目录下(与UserService相同目录)不用加启动类的class文件在不相同目录下(与UserService不相同目录)加启动类的class文件 最终 使用步骤 搭建SpringBoot工程 引入starter-
别人代码用什么就copy用什么,反正他没错,俺也不会错? 它们都是一样的作用?只是名字不一样而已? 如果你存在以上这些疑问,那么你看这篇文章必赚! 上车! 如果你不存在以上这些疑问,那么你看这篇文章也不亏! 正文 ====== 跟着我 了解下 @Autowired 和 @Resource 这两位兄台 1.看看
自定义类实现AOP 首先在pom.xml中导入AOP织入的依赖包 <dependency> <groupId>aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.5.3</version> </dependency> 编写Service层 Service接口 public interface UserS
前言 场景:将一些公共的方法封装成了一个jar包,在其他项目中进行引用的时候报错 报错原因:bean没有注入,引进来的jar包没有被spring管理,因为类没有被@Service,@Repository等类注解,如果我们想用@Autowired注入也会报错 示例: @Autowired public UserService userService; 报错: Caused
Java反射 - getDeclaredConstructor().newInstance()得到实例化对象 class.newInstance()实例化只能直接调用构造参数 class.getDeclaredConstructor().newInstance()实例化可以调用静态类和构造参数 实现类 public static void main(String[] args) throws NoSuchMethodExcepti
Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 1.准备工作 (1)引入相关 jar 包 (2)配置xml文件 1.在 spring 配置文件配置数据库连接池 2.配置 JdbcTemplate 对象,注入 DataSource 3.组件扫描 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:
今天学习内容为,从视频P2的36:14继续学习,学习内容为业务层(service)的编写格式及几个注解。下一步的学习计划是视频P3,前后台axios交互。 参考 https://www.jianshu.com/p/62bc1d77111a 学习创建mapper、service、serviceImpl。 3.2.3.3 mapper /** * UserMapper继承com.baomidou.m
之前分析了Feign组件,今天我们来研究 Netflix 团队开发的另外一个组件--Ribbon。Ribbon 和 Feign 有很多相似的地方,首先,它们本质上都是 HTTP client,其次,它们都具备重试、集成断路器等功能。最大的区别在于,Ribbon 内置了一个负载均衡器,而 Feign 没有。 本文将介绍如何使用原生的 Rib