![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
理解
LT Lucky
你要悄悄学Java然后惊艳所有人(Knowledge is infinite.)!
展开
-
《穿越SpringBoot 》 第二章-SpringBoot 的 Web开发 | 第2节- SpringBoot 整合 Jsp模板引擎
SpringBoot 集成 JSP前提:借助:Maven构建工具,IntelliJ IDEA,以及基于SpringBoot 2.3.4。可参考SpringBoot官方文档:https://docs.spring.io/spring-boot/docs/更多干货:请参考Java学习资料:https://www.CJNB自行学习。背景:SpringBoot 官方大人对jsp是不建议使用的哦。按照在下的办法,官人您可以按照下面的步骤执行就可以搞定哟!目录结构:来瞧一下,下面这张图:原创 2020-10-16 00:21:10 · 165 阅读 · 0 评论 -
《穿越SpringBoot 》第一章-SpringBoot | 第1节- 构建第一个Spring Boot工程
构建第一个Spring Boot工程前提:借助:Maven构建工具,IntelliJ IDEA,以及基于SpringBoot 2.3.4。官网链接:SpringBoot官网:https://spring.io/projects下载或查看文档。更多干货:请参考Java学习资料:https://www.CJNB自行学习。搭建SpringBoot项目:第一步:创建项目:方案一:如下图选项的是 Spring Initializr(联网在线创建) 访问:https://start.spring.i原创 2020-10-15 19:49:45 · 126 阅读 · 0 评论 -
Spring Boot 如何将普通项目改造为一个spring boot项目
搭建自己的父工程的boot项目方案一、 让父工程的父亲 采用 Spring boot下图的1009项目是一个父工程项目,给1009再添加一个soring boot的父工程即可方案二、将一个普通的项目改造成一个spring boot项目改造后的目录结构:参考官方文档3.2:1.需要在普通maven项目的pom.xml文件中配置下图两个依赖:2.点击如下图指示可同时管理多个项目工程。3.在application.properties文件中可以自定义设置端口号:4.创建核心类 BA原创 2020-10-10 15:53:00 · 2292 阅读 · 0 评论 -
Spring Boot 入门(项目的简单应用)
Spring Boot官网:https://spring.io/projects快速搭建SpringBoot项目1. 在线创建:https://start.spring.io/2. IDEA 工具创建1.2.认识Spring Boot项目原创 2020-10-09 19:38:02 · 149 阅读 · 0 评论 -
Spring Mvc 的原理
Spring Mvc 的工作原理九大组件:DispatcherServlet在TomCat容器中创建时会调用自己的生命周期方法,创建Spring容器,并将Spring容器封装到Application域对象中,在容器启动时初始化九大组件initMultipartResolver(context); 解决文件上传的组件initLocaleResolver(context); 国际化解析组件initThemeResolver(context); 皮肤解析组件initHandlerMappings原创 2020-10-08 17:46:36 · 65 阅读 · 0 评论 -
Spring MVC支持的返回值类型
Spring MVC 支持的返回值类型String 返回的是“逻辑视图”voidModelAndView @RequestMapping("/demo1") public ModelAndView demo1(){ ModelAndView modelAndView = new ModelAndView(); //这个对象同时封装了: 视图 和 数据 //携带数据传递给页面 modelAndView.addO原创 2020-10-08 14:47:08 · 160 阅读 · 0 评论 -
Git 的使用
Git的使用一、创建本地仓库选择一个空文件夹,设置隐藏文件夹显示:鼠标右键单击选择Git Bush Here输入以下语句,名字自己取,邮箱地址填写自己的邮箱:初始设置:git config --global user.name “Your Name”git config --global user.email “email@example.com”创建仓库:git init在这个空文件夹中就会显示一个隐藏文件:这个隐藏文件夹不能删除。是版本管理的关键。二、常用命令:1.查看当前状原创 2020-10-08 14:10:09 · 72 阅读 · 0 评论 -
Git 版本控制工具(分布式)的下载与安装
Git的下载与安装官网: https://git-scm.com/或者下载链接:https://pan.baidu.com/s/1UjUWbPEDWQpt2AOdQLZIhA提取码:7k98安装: 一路下一步。安装成功: 点击鼠标右键出现所谓的版本管理工具适合管理 文本性质的内容(能用记事本打开查看)。另外一款集中式的版本管理工具 SVN。...原创 2020-10-08 14:08:01 · 154 阅读 · 0 评论 -
Spring 中事务属性详解
Spring 中事务属性详解Isolation 指定事务的隔离级别读已提交 READ_COMMITTED读未提交 READ_UNCOMMITTED可重复读 REPEATABLE_READ串行化 SERIALIZABLE默认值 DEFAULT: (MySQL: 可重复读、Oracle: 读已提交)timeout 设置单位为秒的超时。 默认值是 -1 表示使用数据库的设置。readOnly 设置是否是只读事务。当你能确保整个事务过程中只对数据库执行Select操作的时候原创 2020-10-07 11:08:44 · 187 阅读 · 0 评论 -
AspectJ表达式
AspectJ表达式常见格式: execution(再写其它内容) 表示匹配某个方法的执行 小括号中的其他内容,其实跟我们以前的方法声明语法差不多。只不过支持 * (通配符) 和 ..(表示任意参数) public void *() 表示 所有无参的返回值类型是void的任意的public 方法。public * com.example.spring.aop.service.impl.*Impl.*(..)) 表示com.example.spring.aop.service.impl包原创 2020-10-06 17:56:44 · 466 阅读 · 0 评论 -
Spring 中基于注解配置的AOP
Spring 中基于注解配置的AOP定义好目标对象 , 注册到Spring容器中定义增强类, 注册到Spring容器中,另外需要在增强类上使用注解/* 要想使用注解风格的AOP开发,需要在此类上添加一些特定的注解 @Aspect 表示此类是一个:切面 在增强的方法上使用一些注解,来指定切点表达式应用到指定的目标方法上。 @Before 表示一个前置增强,它的value属性接收: 一个AspectJ表达式 *原创 2020-10-06 17:12:07 · 70 阅读 · 0 评论 -
Spring 中基于XML配置的AOP
Spring 中基于XML配置的AOP定义好目标对象 , 注册到Spring容器中定义好增强对象, 注册到Spring容器中通过XML进行 AOP 的 织入过程的配置: <!--将包含增强逻辑的类(增强类) 注册到Spring容器中--> <bean id="myAdvice" class="com.example.spring.aop.xml.advice.LogAdvice"/> <!-- aop:config原创 2020-10-06 17:07:34 · 177 阅读 · 0 评论 -
Spring 中AOP中的相关术语
AOP中相关术语1 . Join point: 连接点。潜在的那些方法。2 . Pointcut: 切点、切入点。其实就是一部分需要改变行为的连接点。3 . Target object: 目标对象。 需要被改变行为的对象。4 . AOP proxy: 代理对象。通过动态代理技术生成的那个对象。5 . Advice: 通知、增强。要改变方法行为的那部分逻辑。6 . Aspect: 切面。 切面 = 切点 + 通知。7 . Weaving: 织入。是将增强应用到切点中原创 2020-10-06 16:18:28 · 169 阅读 · 0 评论 -
代码生成器(MyBatis Generator )
代码生成器官网:http://mybatis.org/generator/以maven插件为例:<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version>原创 2020-10-06 10:24:00 · 1681 阅读 · 1 评论 -
Mybatis “log4j“日志的使用(即设置输出SQL语句)
Mybatis "log4j"日志的使用关于日志,都有级别:(低) TRACE -> DEBUG -> INFO -> ERROR -> FATAIL (高)如何设置输出SQL语句:1.全局配置文件中配置setting标签。 <settings> <setting name="logImpl" value="LOG4J"/> </settings>2.maven环境下导依赖:3.在类路径下创建名为原创 2020-09-17 09:57:13 · 360 阅读 · 0 评论 -
Mybatis 特殊字符的处理
Mybatis特殊符号的处理方式1:使用转义字符方式2:使用 CDATA 标记。<![CDATA[内部写包含特殊字符的内容]]>可参考下图:原创 2020-09-17 09:41:51 · 417 阅读 · 0 评论 -
Spring对事务的支持
Spring对事务的支持基于XML配置核心对象 平台事务管理器(PlatformTransactionManager)基于JDBC事务的实现: DataSourceTransactionManager将它注册到Spring 容器中。 <!--1. 基于XML配置的事务管理--> <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTr原创 2020-09-17 08:56:32 · 139 阅读 · 0 评论 -
Mybatis 映射配置文件(mepper配置文件的标签详解)
Mybatis 映射配置文件的标签总结:一、标签分类1.定义SQL语句增insert标签 删delete标签 改update标签 查select标签2.配置关联关系关联的是集合:collection标签 ;关联的是单个对象 :association标签两者都是用于resultMap返回关联映射标签属性:1.property resultMap返回实体类中字段和result标签中的property一样2.column 数据库的列名或者列标签别名,是关联查询往下一个语句传送值。注意: 在原创 2020-09-15 21:40:14 · 1355 阅读 · 0 评论 -
穿越Java - 开发框架篇 第一章 Spring | 第3节 AOP详解
Spring中的AOPAOP中相关术语Join point: 连接点。潜在的那些方法。Pointcut: 切点、切入点。其实就是一部分需要改变行为的连接点。Target object: 目标对象。 需要被改变行为的对象。AOP proxy: 代理对象。通过动态代理技术生成的那个对象。Advice: 通知、增强。要改变方法行为的那部分逻辑。Aspect: 切面。 切面 = 切点 + 通知。Weaving: 织入。是将增强应用到切点中的过程原创 2020-10-06 10:56:11 · 90 阅读 · 0 评论 -
Spring 整合Junit单元测试
Spring整合Junit单元测试第一步: 引入 Spring 的 test 模块/** 演示在 junit 环境中, 集成Spring* */import com.example.crud.service.MemberService;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import or原创 2020-09-17 00:40:59 · 84 阅读 · 0 评论 -
Spring 中的自动配置(Bean的自动注册、依赖注入(简单属性,其他Bean,细节问题))
spring中的自动配置背景:随着项目中要让Spring管理的对象越来越多,每个对象及其依赖都通过 XML的方式定义到配置文件中,这个工作量也不小。Spring 就设想它自己来将你想要被管理的对象注册进容器中。前提条件:想要被管理的这个类跟其它普通的类有区别。这个区别通过标记注解来实现。Spring为我们提供了一些注解步骤:1>开启自动配置的功能跟注解有关的功能 ,导入 Spring 的 aop 模块的jar包.在配置文件中使用 <context:component-原创 2020-09-16 19:46:25 · 1091 阅读 · 0 评论 -
Spring 在Web项目中整合spring框架(Spring监听器)
在Web项目中整合Spring框架需求:由于基于Spring思想来进行项目开发,将来好扩展,好维护。要基于Spring的思想来开发,关键点就在于让Spring来管理程序中的一些对象。分析一下,对于一个项目来说,哪些对象适合让Spring来管理:实体 domain 对象 不需要Spring来管理,因为程序中总会随时创建domain的实例Dao层对象 , 需要。Service层对象, 需要。异常, 不需要。util对象 , 不需要serlvet , 不需要,轮不到你管数据库连接对象原创 2020-09-16 17:32:11 · 234 阅读 · 1 评论 -
Spring 中分配置文件的开发
分配置文件开发模式1:构造时传入每个配置文件 //1. 途径1 : 可以在构造Spring容器的时候,分别指定多个配置文件,它会自动组合到一起构成一个容器。 ApplicationContext context = new ClassPathXmlApplicationContext( "classpath:com/example/spring/distributed/dao.xml", "classpath原创 2020-09-16 17:02:25 · 87 阅读 · 0 评论 -
Spring 中Bean的复杂类型注入(数组、集合(List、Set)、Map、)及配置文件的注入(properties)
注入复杂类型数组、集合(List、Set)、Map、Properties 。 <bean id="bean" class="com.example.spring.di.complex.Bean"> <constructor-arg name="prop1"> <!-- 对于复杂类型来说,必须通过constructor-arg的子标签来配置。 -->原创 2020-09-16 16:31:25 · 1239 阅读 · 0 评论 -
Spring中Bean的简单依赖注入
Bean的简单依赖注入所谓的简单依赖:基本数据类型及其包装类型、 String类型、其它Bean实例。通过构造方法参数<!-- 1. 要想让Spring 放入 其它Bean ,意味着 “那个bean” 也需要被Spring 所管理。--><bean id="otherBean" class="com.example.spring.di.simple.OtherBean"/><!-- 2. 下面演示在 XML 中如何进行构造方法的注入 -原创 2020-09-16 15:02:00 · 190 阅读 · 0 评论 -
穿越Java - 开发框架篇 第一章 Spring | 第2节 IOC详解
Spring中的概念IOC和 DI有时候会将Spring容器称为 IOC 容器。 IOC也是Spring的两大核心功能之一。两大核心功能(基石): IOC 和 AOP 。IOC : inverse of control 控制反转。 将对象的创建权交由Spring容器来管理,它是一种目的。由于对象之间总是存在依赖关系的。DI: Dependecy Inject 依赖注入。是将一个对象所依赖的其他对象的实例传进来,它是一种手段。它们本质上是对同一件事物的不同角度的描述。0825..原创 2020-09-16 13:53:56 · 97 阅读 · 0 评论 -
Spring Mvc支持的参数类型
Spring Mvc支持的参数类型Serlvet API的请求响应类型: ServletRequest or HttpServletRequest. ServletResponse HttpServletResponse[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T1oio39S-1599541496204)(imges/image-20200908111527561.png)]Session object (Servlet API): of type Ht原创 2020-09-14 22:27:36 · 385 阅读 · 0 评论 -
Mybatis 全局配置文件 (标签详解)
Mybatis 全局配置文件中的标签详解:顺序约束:自上而下注意:标签也是有顺序的 顺序错误会报错。(一):全局配置文件头部<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">(二):c原创 2020-09-14 16:10:34 · 503 阅读 · 0 评论 -
MyBatis 入门
MyBatis框架GitHub官网:https://github.com/前身叫 iBatis (Google Code)、更名为 MyBatis(版本从3.x开始)。官方地址: https://github.com/mybatis/mybatis-3最新版本目录结构Mybatis定义:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使原创 2020-09-14 13:23:23 · 222 阅读 · 0 评论 -
Spring中Bean的常见配置(Scope作用范围、生命周期方法配置、Bean的生成)
Bean的常见配置Scope作用范围是可以通过 bean 标签的 scope 属性来进行指定的。其取值可以是:singleton : 单例【默认值】。表示此对象在Spring容器中仅会存在唯一的一个实例。prototype : 每实例。表示从容器中取出对象时,总会创建一个新的对象出来。request (web环境下): 同一个请求中,拿到的bean是同一个。 【实际开发中放入请求域】session(web环境下): 同一个会话中,拿到的bean是同一个。【实际开发中放入session域原创 2020-09-14 09:35:04 · 362 阅读 · 0 评论 -
Spring 对JDBC的支持
Spring 对JDBC的支持引入jdbc模块:spring-jdbc-4.3.28.RELEASE.jarspring-aopspring-txaspectjweaver-1.8.9.jar核心类是 : JdbcTemplate(一)将其注册到Spring容器中。将 JdbcTemplate 注册到Spring容器中还需要注入它所依赖的 DataSource 对象。手段1: 构造方法 、 手段2:setter方法测试:将来在代码中需要访问数据库,可以直接选择注原创 2020-09-01 17:36:15 · 123 阅读 · 0 评论 -
tomcat服务器
Tomcat服务器是基于Java开发的一款开源免费的HTTP服务器。市面上其实还有很多Web服务器,只是Tomcat最常见。另外,由于Java制定一系列的Java EE 的标准。而各大基于Java技术的Web服务器都会遵循该标准。意味着,我们用户,开发的Web程序基本上可以无差别的部署在不同的其他Web服务器中。http://tomcat.apache.org/安装很简单,直接解压缩即可。配置由于它是一个Java开发的软件,所以要求我们的本机的Java环境是OK的。JAVA_HOMEP原创 2020-08-02 13:01:30 · 119 阅读 · 0 评论 -
Session对象@对象获取@请求原理
Session(域对象会话)会话概述会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。理解:也是用来存取数据的一种域对象。HTTP协议本身是一种无状态的协议。但是往往我们的实际需求中会区分不同的请求。对于 “不同组” 的请求,称为 会话(Session)。并且,通常(不是必须)它还会配合 Cookie一起使用。会话跟踪技原创 2020-07-30 18:43:46 · 331 阅读 · 0 评论 -
(请求)转发和(响应)重定向@HttpServletRequest对象@HttpServletResponse对象
转发和重定向理解:都是用于Servlet之间跳转的技术。只是一个发生在服务器端,一个发生在客户端。(请求)转发转发功能,找HttpServletRequest对象。HttpServletRequest是请求域对象HttpServletRequest对象,也能作为 “域对象” 存取数据。涉及的方法,跟ServletContext一致:java.lang.Object getAttribute(java.lang.String name)返回具有给动名字的 servlet container原创 2020-07-30 10:04:40 · 358 阅读 · 0 评论 -
ServletContext @理解域对象@跨Servlet传递数据
ServletContext 对象作为域对象的作用1:主要用于存取数据,域对象都具备存储数据的方法。方法摘录:这个域对象的作用范围最大,它涵盖整个Web应用。可以将其存取数据的结构理解为一个Mapjava.lang.Object getAttribute(java.lang.String name) //获取数据返回具有给动名字的servlet container 的属性,或者当没有具有所给名字的属性时,返回一个空值。java.util.Enumeration getAttribut原创 2020-07-27 19:23:59 · 289 阅读 · 0 评论 -
包的创建
包package 包名; 包名属于标识符。规范:包名的所有字母全部小写一般会采用以下模式来命名:2.1 第一部分域名倒写。 比如百度公司的域名是 baidu.com, 所以,假设你是百度公司的程序员,那么我公司开发的Java程序的顶层包名: com/baidu2.2 第二部分是项目/软件/产品…其它代号。比如我的程序是百度公司的贴吧产品相关的源码。这层包就可以命名为: tieba2.3 对于贴吧产品来说,也会进行进一步的分层,模块层面。比如回复模块,我的包名命名: reply2.4 进原创 2020-07-27 00:37:57 · 244 阅读 · 0 评论 -
链式编程
链式编程比如说 一个对象 在正式使用之前需要设置大量的相关属性。在java 中StringBuilder已经实现了链式的写法Eg : StringBuilder builder = new StringBuilder(); builder.append(“blake”).append(“bob”).append(“alice”).append(“linese”).append(“eve”);或者用set 方法体现的也是链式Eg : Apple apple = new Apple();appl原创 2020-07-27 00:09:56 · 129 阅读 · 0 评论 -
接口和抽象类的区别
接口和抽象类的区别:成员上的区别:接口:常量、抽象方法、静态方法。抽象类:包含变量、常量、成员方法、抽象成员方法、静态方法关系上的区别:类与类:类与接口:接口与接口:设计理念上的差别:抽象类是被继承的体现。属于is 和a 的关系。接口是被实现的体现 属于like 和a 关系,是一个扩展的功能...原创 2020-07-26 23:50:40 · 69 阅读 · 0 评论 -
穿越Java - 语法基础篇 第三章 面向对象介绍 | 第16节 final关键字
final关键字类上使用final :表示:此类 不允许其他类进行继承(绝后了)成员方法上使用final:表示: 此方法不允许被重写(覆盖 即被子类继承时不能重写此方法)变量上使用final:表示: 这个变量是一个常量 且只能赋值一次。当修饰成员变量时,必须明确赋值一次(不能使用默认值)修饰引用类型时,表示地址不能变,但是可以修改内容(用get set)final、finally、finalize的区别1、final修饰符(关键字)。被final修饰的类,就意味着不能再派生出新的子类,不能原创 2020-07-26 23:46:06 · 165 阅读 · 0 评论 -
Servlet的配置@传递初始化的参数值
传递初始化的参数值(一) 涉及到生命周期方法的 init(ServletConfig)其中的ServletConfig表示配置对象,可以获取配置信息String getInitParameter(String var1);根据 参数名 获取配置的对应的参数值 返回值是String 需要自己处理类型Enumeration getInitParameterNames();返回配置的所有参数名的 迭代器 。代码就可以遍历到所有参数名(二) 涉及到web.xml中的子标签原创 2020-07-26 23:12:57 · 310 阅读 · 0 评论