- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 多线程----生产者消费者问题
多线程----生产者消费者问题背景去购物买炸鸡,店里只能做好十只鸡等着卖,突然来了十五个客人,要买十五只鸡,卖出十只后,剩下的五个客人只能等厨房做,厨房一次只能做一只鸡。synchronzied版本package com.woongcha;//TODO synchronziedpublic class TestPCFinal { public static void main(String[] args) { Shop shop = new Shop();
2020-07-28 21:08:17 160
原创 多线程----银行取款问题(线程安全问题)
多线程----银行取款问题(非线程安全问题)背景张三在银行存了10000元钱,突发奇想,让两个人在柜台和ATM同时取出6000元(完全相同时间),能得到12000元吗?简易银行交互系统package com.woongcha;public class UnsafeBank implements Runnable { private int cash; private Bank bank; public UnsafeBank(int cash, Bank bank) {
2020-07-27 15:32:24 1118
原创 Spring Boot 整合 Mybatis Plus(从零开始学习Mybatis Plus)
Spring Boot 整合 Mybatis plus(从零开始学习Mybatis Plus)什么是Mybatis plusMybatis:Mybatis是一款面向对象的关系型数据库。Mybatis plus:Mybatis plus在Mybatis的基础上,简化了开发步骤,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。所以,在学习Mybatis plus之前应该对Mybatis有充分的认识,熟悉Mybatis的开发流程。本文基于Spring Boot编写Maven&l
2020-07-03 17:02:26 1234
原创 SpringBoot整合Shiro
SpringBoot整合ShiroShiro:由apache出品的简单的java安全框架。某些用途和Security相似。Shiro核心组件UsernamePasswordToken Shiro用来封装用户登录信息,使用用户的登录信息创建Token。SecurityManager Shiro的核心部分,负责安全认证和授权。Suject Shiro的抽象概念,包含用户信息。Realm 开发者自定义的模块,根据项目的需求,验证和授权的逻辑都写在Realm中。AuthenticationInfo 用
2020-07-02 14:23:00 155
原创 SpringBoot整合SpringData JPA
SpringBoot整合SpringData JPASpringData JPASpringData:是Spring为了操作数据库中的数据所提供的自动化框架,JPA只是其中一个基于数据操作的模块。SpringData JPA(hibernate) 对比Mybatis相同点:都为持久层框架不同点:hibernate是面向对象的,而MyBatis是面向关系的Mybatis作为半自动化ORM关系映射,需要自己写接口并且写SQL语句。hibernate作为自动化框架,无需自己写SQL语句,默认会给
2020-07-01 00:30:19 394
原创 SpringBoot整合Spring Security
SpringBoot整合Spring SecuritySpring Security简单使用所需依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2020-07-01 00:29:12 216
原创 SpringBoot遇到的问题(实时更新)
最近遇到的问题在springboot下,没有@NotNull注解版本问题,2.3.1取消了@NotNUll等一系列数据校验的注解,回退到2.2.6即可mybatis报错java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Zmysql版本问题 依赖换成5.1.47以上版本...
2020-06-29 22:39:33 310
原创 SpringBoot 中 JSP和HTML的简单使用
SpringBoot 中 JSP和HTML的简单使用JSP在pom文件中引入相应的依赖 <!-- web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 整合JSP --&g
2020-06-26 23:02:23 885
原创 如何使用逆向工程生成代码(java)
逆向工程什么是逆向工程?逆向工程是通过数据库中已经存在的数据表,反向生成java中的实体类,并且生成对应的ORM(Object Relationship Mapping 对象关系映射)持久层代码。引入的依赖 <!--数据库链接java--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</ar
2020-06-12 22:52:33 2486 2
原创 SpringMVC 各组件工作流程 附图
Spring MVCSpringMVC是Spring的分支产品,以SpringIoC容器为基础,并利用容器的特性简化它的配置。Spring MVC组件DispatcherServlet:前置控制器,是整个流程控制的核心,控制其他组件的执行,进行统一调度,降低组件之间的耦合性,相当于总指挥。Handler:处理器,完成具体的业务逻辑,相当于 Servlet 或 Action。HandlerMapping:DispatcherServlet 接收到请求之后,通过 HandlerMapping 将不同
2020-05-26 17:35:32 391 1
原创 搭建SSM框架步骤(超基础版,附代码讲解)
SSM框架搭建meaven的创建创建一个maven,应用原型模板创建,省事。配置pom.xml<dependencies> <!-- SpringMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.
2020-05-20 13:34:14 1205 1
原创 spring框架下的AOP(基础代码分析)
使用spring框架下的AOP由于spring框架对AOP进行了封装,所以可以用面向对象的方法实现AOP。只需要创建一个切面对象,将所有的非业务信息放进去即可。代码分析@Aspect@Componentpublic class LoggerAspect { @Before("execution(public int com.woongcha.utils.impl.CalImpl.*(..))") public void before(JoinPoint joinPoint){
2020-05-14 10:41:43 513 1
原创 AOP动态代理完整过程(超基础,超详细)
AOP动态代理租房的时候,房屋中介就是代理(筛选符合自己要求的房子,再供自己选择)。代理也需要和自己有相同的所有能力(自己有看房的能力,中介也有)。在程序中,代理是一个对象。这个对象由一个类产生,这个类本身就是动态产生。这个类本身不会被创建,在程序运行时动态产生。InvocationHandler提供生成代理类的功能,InvocationHandler不是代理类,是帮助生成动态代理类的一个类。代码分析public class MyInvocationHandler imp
2020-05-14 10:38:46 1510
原创 Bean的作用域及生命周期
Bean有7种作用域,只详细了解其中最常用的两种:singleton prototypesingleton(单例):在每个Spring IoC容器中一个bean定义对应一个对象实例。singleton是spring容器的默认作用域。<bean id="scope" class="com.woongcha.scope.scope" scope="singleton"/>pu...
2020-04-12 21:37:16 146
原创 Spring中的Bean 实例化
什么是BeanSpring就是一个大工厂,Bean就是Spring容器中需要加工生产的部分。我们都在微博上@过某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean(注册)或者给出一个Bean(使用)Bean的实例化想要用这个对象,就先要实例化这个对象。想要用Spring容器中的Bean,就要先实例...
2020-04-11 23:32:16 189
原创 2020/4/10 Spring IoC DI工作机制
**IoC工作机制**1. 先写一个userDao接口,再写一个实现类实现这个方法。2. 通过applicationContext.xml文件创建一个id为userDao的Bean。3. 在测试类中调用say()方法。public class TestIoC { public static void main(String[] args) { //初始化Spring容器,加载配置文...
2020-04-10 11:09:47 150
原创 No suitable driver found for jdbc:mysql//localhost:3306/chapter03 报错 没有适合 jdbc 的驱动程序
String url="jdbc:mysql//localhost:3306/chapter03"; String username="root"; String password="123456"; Connection conn=DriverManager.getConnection(url, username, password);以上为源代码 报错,改为以下格式没有错误。...
2020-04-02 16:33:27 190
原创 Java中的反射机制
什么是反射?反射是一种可以在编译时获得解析类的能力。简单来说,通过反射可以直接创建对象、获得对象的属性、获得对象的方法.....简单的例子:通过对象得到了包名及类名package test1;class X{}public class GetClassNameDemo { public static void main(String[] args) { X x=new X()...
2020-03-29 18:11:48 175
初步搭建好的SSM框架(IDEA版)
2020-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人