- 博客(27)
- 收藏
- 关注
原创 springboot+redis缓存自定配置
@Configuration@EnableCachingpublic class RedisConfig {/*** 自定义key规则* @return*/@Beanpublic KeyGenerator keyGenerator() {return new KeyGenerator() {@Overridepublic Object generate(Object target, Method method, Object... params) {Str...
2022-03-09 23:19:23
283
原创 网关跨域代码
import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframework.web.cors.reactive.CorsWebFilter;import org.springframework..
2022-02-10 16:12:20
159
原创 JVM入门认识2
1.Hotspot和堆JAVA中JVM一般都是Hotspot一个JVM只有一个堆内存(常量、变量、方法、类),保存引用类型的真实对象2.堆(新生区、老年区、永久区)jdk1.7和1.8有点区别,jdk1.8没了永久区,变成了元空间。在逻辑上来说元空间还是属于堆的,但在物理结构上来说新生区和老年区的内存相加刚好等于堆的总内存,元空间也被称作为非堆,元空间里面有方法区3.堆内存调优,依次按下图进行-Xms8m -Xmx8m ...
2022-01-04 16:07:43
391
原创 JVM入门认识
1.结构体系2.类加载器(作用,加载class文件)以及双亲委派机制加载--->初始化(例如Car.class-->Car class-->实例化)双亲委派机制,类加载器有:AppClassLoader(系统类加载器)-->ExtClassLoader(扩展加载器)-->BootStrapLoader(启动类加载器)程序运行时会由AppClassLoader依次往上传递到BootStrapLoader,如果...
2022-01-03 15:24:14
298
原创 线程池的创建使用
public class testPool { public static void main(String[] args) { //创建服务,设置线程池大小大小 ExecutorService service = Executors.newFixedThreadPool(10); //执行线程 service.execute(new Pool()); service.execute(new Pool()); .
2021-12-31 11:31:38
210
原创 Docker安装mysql、redis、nginx
安装mysql用docker安装上mysql,去docker仓库里搜索mysql1.sudo docker pull mysql:8.0.202.mkdir -p /mydata/mysql/data3.mkdir -p /mydata/mysql/conf4.touch /mydata/mysql/my.cnf5.vi /mydata/mysql/my.cnf6.在my.cnf中添加如下信息[mysqld]user=mysqlcharacter-
2021-12-24 18:56:28
139
原创 Docker
#卸载系统之前的dockersudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \dock...
2021-12-24 15:39:36
60
原创 搭建微服务(nacos:注册、配置、远程调用、垄断、网关)
注册中心启动项加注解@EnableDiscoveryClient<!--nacos注册中心--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> &l...
2021-12-02 16:20:47
372
原创 后台拦截器获取不到token,报跨域问题
在return false时,要执行跨域的解决方法@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = request.getHeader("token"); System.out.println("request:"+request.toString()
2021-11-27 16:28:41
1337
原创 自动填充(时间)、逻辑删除、分页插件、SQL执行效率插件
自动填充(时间)先添加两个字段(数据库和实体类都要) @TableField(fill = FieldFill.INSERT) private Date createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateTime;然后在配置类实现接口MetaObjectHandler重写以下方法//创建时自动填充创建和修改时间 @Override public void insert
2021-11-19 09:50:44
278
原创 Mybatis-plus配置文件
server: port: 8888spring: datasource: url: jdbc:mysql://127.0.0.1:3307/shop?serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Drivermybatis-plus: mapper-locations: classpath:mapper/*Mapper..
2021-11-19 09:35:59
1021
原创 SpringBoot注册Servlet组件
注册Servlet//注册Servlet @Bean public ServletRegistrationBean myServlet(){ ServletRegistrationBean<MyServlet> registrationBean = new ServletRegistrationBean<>(); registrationBean.setServlet(new MyServlet()); regis
2021-10-29 17:27:19
226
原创 Springboot全局异常处理
1.错误页面直接定义在templates/error下面就行<body> <h2>5xx错误</h2> <h2>状态码:[[${status}]]</h2> <h2>错误提示:[[${error}]]</h2> <h2>异常消息::[[${message}]]</h2> <h2>时间戳::[[${timestamp}]]</h2.
2021-10-29 16:55:27
74
原创 SpringBoot热部署及SpringMvc功能
热部署是实时监控classpath下的代码,在监视到JAVA代码修改后不需要再手动重启,会自动。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!--依赖不传递--> <o
2021-10-29 15:23:49
89
原创 SpringBoot-thymeleaf模板引擎
SpringBoot是默认不支持JSP的JSP本质上是一个Servlet,需要后台加载,比较慢thymeleaf不会1.thymeleaf需要<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>2.htm
2021-10-28 22:20:07
71
原创 Redis事务、持久化
1.事务multi启动事务,启动完后每一天都在QUEUED队列中,exec执行事务,有错误命令并不会影响下一条命令执行没执行前用discard命令可以回滚
2021-10-27 17:45:03
85
原创 Redis操作
一、启动Redis1.首先启动RedisC:\Redis>redis-sever.exe2.然后打开另外一个命令窗口C:\Redis>redis-cli.exe二、操作命令(Tab快捷键可以打出暂时记不起来的命令)1.String类型(1)get/set命令,keys *查询所有key,append增加相应key后面的类容(相当于字符串增加)set后面表示key存在的时间,EX表示秒,PX表示毫秒,可以输入ttl key查询剩余存在时间NX表示不.
2021-10-26 19:25:58
128
原创 Springboot项目打包
1.pom.xml添加插件(下面代码)2.双击maven-lifecycle-package<!-- 该插件可以将应用打包成一个可执行的jar--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifa
2021-10-20 18:52:27
149
原创 创建Springboot项目
一、创建创建maven项目,点击Next或者选择webapp创建项目二、pom.xml导入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.2.RELEASE</version></paren
2021-10-20 18:16:50
51
原创 SSM项目搭建,依赖引入
父工程添加依赖,子工程引用<dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> &
2021-10-15 15:23:05
122
原创 SpringMVC文件上传
一、添加jar包<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.2...
2021-10-12 18:19:49
45
原创 SpringMVC拦截器
一、配置方法public class HelloInterceptor implements HandlerInterceptor { //调用目标处理方法之前执行,权限日志等 @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object h
2021-10-12 17:34:20
53
原创 统一异常处理
一、使用web技术处理(web.xml文件加入以下代码)<!-- 404异常--><error-page> <error-code>404</error-code> <location>/404.jsp</location></error-page><!-- 500异常--><error-page> <error-code>500</
2021-10-12 15:01:52
55
原创 SpringMvc静态资源
在web.xml配置DispatcherServlet为<url-pattern>/</url-pattern>时,会拦截所有请求,包括静态资源,导致所有静态资源无法访问有两种处理方式 1.使用tomcat提供的默认servlet<mvc:annotation-driven/><mvc:default-servlet-handler/>缺点:只能读取webapp下的资源,无法读取/WEB-INF/下的资源 ...
2021-10-11 15:36:46
81
原创 springAop(JDK动态代理和cglib技术)
缺点:目标对象必须实现一个或多个接口Proxy.newProxyInstance( classLoader, //目标类的类加载器 interfaces, //目标类的接口列表 invocationHandler //交叉业务逻辑)代码实现:UserService userService = (UserService) Proxy.newProxyInstance( UserServiceImpl.class.getClassLoa
2021-09-29 17:15:38
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人