1 WoongCha

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 36w+

多线程----生产者消费者问题

多线程----生产者消费者问题背景去购物买炸鸡,店里只能做好十只鸡等着卖,突然来了十五个客人,要买十五只鸡,卖出十只后,剩下的五个客人只能等厨房做,厨房一次只能做一只鸡。synchronzied版本package com.woongcha;//TODO synchronziedpublic class TestPCFinal { public static void main(String[] args) { Shop shop = new Shop();

2020-07-28 21:08:17

多线程----银行取款问题(线程安全问题)

多线程----银行取款问题(非线程安全问题)背景张三在银行存了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

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

SpringBoot整合Shiro

SpringBoot整合ShiroShiro:由apache出品的简单的java安全框架。某些用途和Security相似。Shiro核心组件UsernamePasswordToken Shiro用来封装用户登录信息,使用用户的登录信息创建Token。SecurityManager Shiro的核心部分,负责安全认证和授权。Suject Shiro的抽象概念,包含用户信息。Realm 开发者自定义的模块,根据项目的需求,验证和授权的逻辑都写在Realm中。AuthenticationInfo 用

2020-07-02 14:23:00

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

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

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

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

如何使用逆向工程生成代码(java)

逆向工程什么是逆向工程?逆向工程是通过数据库中已经存在的数据表,反向生成java中的实体类,并且生成对应的ORM(Object Relationship Mapping 对象关系映射)持久层代码。引入的依赖 <!--数据库链接java--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</ar

2020-06-12 22:52:33

SpringMVC 各组件工作流程 附图

Spring MVCSpringMVC是Spring的分支产品,以SpringIoC容器为基础,并利用容器的特性简化它的配置。Spring MVC组件DispatcherServlet:前置控制器,是整个流程控制的核心,控制其他组件的执行,进行统一调度,降低组件之间的耦合性,相当于总指挥。Handler:处理器,完成具体的业务逻辑,相当于 Servlet 或 Action。HandlerMapping:DispatcherServlet 接收到请求之后,通过 HandlerMapping 将不同

2020-05-26 17:35:32

搭建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

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

AOP动态代理完整过程(超基础,超详细)

AOP动态代理租房的时候,房屋中介就是代理(筛选符合自己要求的房子,再供自己选择)。代理也需要和自己有相同的所有能力(自己有看房的能力,中介也有)。在程序中,代理是一个对象。这个对象由一个类产生,这个类本身就是动态产生。这个类本身不会被创建,在程序运行时动态产生。InvocationHandler提供生成代理类的功能,InvocationHandler不是代理类,是帮助生成动态代理类的一个类。代码分析public class MyInvocationHandler imp

2020-05-14 10:38:46

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

Spring中的Bean 实例化

什么是BeanSpring就是一个大工厂,Bean就是Spring容器中需要加工生产的部分。我们都在微博上@过某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean(注册)或者给出一个Bean(使用)Bean的实例化想要用这个对象,就先要实例化这个对象。想要用Spring容器中的Bean,就要先实例...

2020-04-11 23:32:16

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

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

Java中的反射机制

什么是反射?反射是一种可以在编译时获得解析类的能力。简单来说,通过反射可以直接创建对象、获得对象的属性、获得对象的方法.....简单的例子:通过对象得到了包名及类名package test1;class X{}public class GetClassNameDemo { public static void main(String[] args) { X x=new X()...

2020-03-29 18:11:48
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取