- 博客(61)
- 收藏
- 关注
原创 Spring框架的理解
Spring框架是一种分层的Java SE/EE应用的全栈轻量级框架,实际上即用于支持我们简化企业级复杂项目开发的开源性开发框架。它的最重要核心是AOP(面向切面编程)和IOC(控制反转)。同时提供数据库操作和网络应用开发的支持模块,以及支持众多强大的第三方框架。Spring是一款功能非常的全面和强大的开放框架。下面是Spring开发框架的体系结构概念图:AOP,面向切面编程,主要解决方法...
2020-07-04 12:56:54
268
原创 Spring DI 数据注入
<!-- spring的依赖注入 依赖注入: IOC的作用: 降低程序之间的耦合(依赖关系) 依赖关系的管理: 交给spring维护,在当前类中需要用到的其他类的对象,由spring提供,在配置文件中说明依赖关系的维护,即称为依赖注入: 依赖注入: ...
2020-07-04 12:56:37
179
原创 Restful编程风格
REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。REST(Representational State Transfer表现状态传输)URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。通俗来讲就是:资源在网络中以某种表现形式进行状态转移。看Url就知道要什么看htt...
2020-07-04 12:56:27
205
原创 为什么自定义实体类的时候要实现Serializable接口
背景:一个java中的类只有实现了Serializable接口,它的对象才是可序列化的。如果要序列化某些类的对象,这些类就必须实现Serializable接口。Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。为什么要进实现Serializable接口:为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再...
2020-07-04 12:56:16
657
原创 Hibernate框架在Idea使用的坑
在Idea开发环境中使用Hibernate的炸包来开发要注意以下几个坑:1.配置文件的位置在使用Session对数据库进行操作的时候,我们要先使用configuration类配置hibernate.cfg.xml类,然后生成sessionFactory用于获取session对象(spring中配置为单例静态对象)。以下是configuration的configure方法:public...
2020-07-04 12:56:06
200
原创 Hibernate框架概念理解
Hibernate的整体架构图如下:Hibernate核心API详解:1.Configuration配置对象hibernate.cfg.xml:通过标签化的语言进行配置,配置形式更加多样,配置内容更加丰富。hibernate.properties:用于配置key/value形式的内容,但是key无法重复,有很多局限性,一般不使用。Configuration对象的...
2020-07-04 12:55:55
154
原创 Session的API
1.session.get/load(User.class,int)get和load方法都是通过id来获取数据,get方法获取一个没有id的数据时,返回null,load方法获取一个没有id的数据时报错,所以建议使用get方法2.delete方法第一种方式:先获取要删除的对象,然后再调用delete方法。但是要注意,自动提交事务的配置只对insert和search操作有效,但是对del...
2020-07-04 12:55:18
398
原创 Session的get和load方法的区别
1.加载方式通过debug执行程序我们可以发现:get方法是只要执行就直接加载数据库,执行sql语句,完成查询。load方法是进行懒加载,意思是只有当需要使用到load方法返回对象的时候,才执行sql语句查询。同时对象返回之后,比如同时需要查询username和password两个属性,它不会两次执行同样id的数据库查询,而是直接在返回对象里返回所需要的信息。2.返回对象loa...
2020-07-04 12:55:01
194
原创 Hibernate参数占位符问题
Query query = session.createQuery("from User where username = ?1"); query.setParameter(1,"liqiaoyu");必须是?i(i>=1)的形式来指定参数,旧版的直接写?然后setParameter的方法已经改进了不能再用。比如: Query que...
2020-07-04 12:54:43
634
原创 Hibernate工具类使用学习
Session,Query,Criteria,SQLQuery四种工具类的使用,套路都类似,具体的使用方法的差别看代码。有注释: /** * 测试session会话的update,delete,insert方法 */ @Test public void testSession(){ Configuration configurati...
2020-07-04 12:54:07
106
原创 SpringBoot:HelloWorld入门工程探究
1.POM文件1.父项目 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7...
2020-07-04 12:53:58
90
原创 SpringBoot:@Value和@ConfigurationProperties注入数据的区别
@Value和@ConfigurationProperties的区别 @Configuration @Value 功能 批量注入配置文件的属性 逐个注入数据 松散绑定 支持松散语法绑定 不支持松散语法绑定 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型(map,list)注入 支持 ...
2020-07-04 12:53:21
166
原创 SpringBoot:Profile
Profile是Spring对不同环境提供不同配置功能的支持,可以通过激活,指定参数等方式快速切换环境。1.多profile文件形式在进行主配置文件的时候,文件名可以是 application-{profile}.properties/yml配置多种环境下的配置文件,默认使用application.properties文件的配置信息;也可以通过在application当中来配置,激活其...
2020-07-04 12:52:28
156
原创 SpringBoot:Yaml配置文件
SpringBoot的全局配置文件有application.properties&application.yaml两种配置文件,它们的配置文件名是固定的。配置文件的作用:修改SpringBoot的自动配置默认值,SpringBoot在底层为我们提供这项功能的支持。Yaml是YAML Ain't a Markup Language的递归缩写。以往的配置文件大多数使用xxxx.xm...
2020-07-04 12:51:16
177
原创 SpringBoot:官方文档
https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/htmlsingle/
2020-07-04 12:50:32
695
原创 SpringBoot:配置文件的加载
1.配置文件处理器引入SpringBoot配置文件首先必须要引入配置文件处理器,才能在实体类注入的时候自动加载配置文件。<!-- 引入配置文件处理器,配置文件进行绑定就会提示--> <dependency> <groupId>org.springframework.boot</groupId&...
2020-07-04 12:49:43
190
原创 SpringBoot:自动配置的原理(1.5.9)
1.配置文件能写什么,怎么写?在SpringBoot的官方文档中,列出了可以在SpringBoot配置文件中配置的属性:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/htmlsingle/#common-application-properties2.自动配置的原理:2.1 @EnableAutoConf...
2020-07-04 12:49:33
209
原创 Ajax:概述
1.Ajax简介Ajax是几个单词首字母的缩写:Asynchronous JavaScript and XML,是异步通信技术实现局部刷新效果。我们通过JS的XMLHttpRequest对象完成发送请求服务器并返回结果的任务,然后使用JS更新局部的页面。异步指的是JS脚本发送请求后并不是一直等着服务器相应,而是发送请求后继续做别的事, 请求相应和处理是异步完成的。XML一般用于请求数...
2020-07-04 12:49:25
85
原创 SpringBoot:静态资源访问
springboot访问静态资源,默认有两个默认目录,一个是 classpath/static 目录 (src/mian/resource)一个是 ServletContext 根目录下( src/main/webapp)1.springboot访问静态资源的几种方式 (1)在src/main/resources/目录下创建static文件夹(2)...
2020-07-04 12:49:13
103
原创 SpringBoot:@Conditional注解集合
ConditionalOnBean:当容器里有指定的bean的条件下ConditionalOnClass:当类路径下有指定的类的条件下ConditionalOnExpression: 基于SpEL表达式作为判断条件ConditionalOnJava:基于java版本作为判断条件ConditionalOnJndi:在JNDI存在的条件下查找指定的位置ConditionalOnMissin...
2020-07-04 12:49:02
744
转载 转载:在阿里工作四个月经历的总结
来阿里也已经四个多月了,这段时间你学了很多东西,简单说起来,就是一个走出舒适区的过程,从一开始的新手入门,到逐渐熟悉业务和技术,再到慢慢的适应环境,胜任工作。总体来说,这几个月还是学到了很多东西,感觉成长的很快,但同时工作的压力也非常的大。总体来说,归纳几个点吧。第一点:就是阿里的技术。大家都知道阿里的java技术栈,在业内基本上是可以排第一的,这也归功于阿里的技术发展十分迅速,...
2020-07-04 12:48:15
504
原创 SpringBoot:日志框架
市面上的日志框架:JUL,JCL,Jboss-logging,logback,log4j,log4j2,slf4j....日字框架 日志门面(日志抽象层) 日志实现 JCL(Jakarta Commons Logging) SLF4j(Simple Logging Façade for Java) Jboss-logging ...
2020-07-04 12:48:07
94
原创 SpringBoot:SLF4j的使用
1.如何在系统中使用SLF4jslf4j的抽象层和实现类开发时,调用日志记录方法应该调用日志抽象层的方法,而不是直接调用日志的实现类方法;给系统里导入slf4j的jar和logback的实现jar,import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class HelloWorld { public s...
2020-07-04 12:47:56
1326
原创 SpringBoot:日志配置
给类路径下翻山每个日志框架的配置文件,SpringBoot就不会使用他的默认配置了。官网的推荐是:日志配置 Logging System Customization Logback logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy Log4j2 log4j2-spring...
2020-07-04 12:47:37
76
原创 SpringBoot:静态资源配置
1.webjarswebjars:以jar包形式引入的静态资源;https://www.webjars.org/;我们可以在这里找到很多我们需要的前端框架。而所有的/webjars/**,都会去classpath:/META-INF/resources/webjars/ 下面寻找资源,所谓类路径,我们在项目中引入jquery的webjars实例如下:SpringBoot的web项目...
2020-07-04 12:47:28
169
原创 SpringBoot:thymeleaf-模板引擎
1.模板引擎JSP、Velocity、Freemarker、Thymeleaf;它们的作用是把html(模板)中的动态的数据标识和后台程序中对应的数据内容匹配起来,渲染在模板页面上。SpringBoot推荐的是Thymeleaf模板引擎,语法更简单,功能更强大。2.Thymeleaf2.1 引入SpringBoot引入: <dependency&g...
2020-07-04 12:47:19
138
原创 SpringMVC:项目用过滤器解决页面获取汉字字符乱码的问题
在开发基于SpringMVC项目时,从浏览器接收中文字符串会显示乱码问题。这是由于在从浏览器页面获取字符串到后台的过程中出现的编码不一致的问题导致的。所以我们要做的,就是在项目的web.xml中配置一个用于设置编码的过滤器,这样在从前端获取数据的时候都会统一转为指定的编码格式,就不会出现中文乱码的情况了。具体的配置代码如下:<!-- 配置解决中文乱码的过滤器--> ...
2020-07-04 12:47:05
159
转载 SpringMVC:转发和重定向
一、转发转发的原理,可以通过下图展示:浏览器的请求发送给组件1,组件1经过一些处理之后,将request和response对象“传递”给组件2,由组件2继续处理,然后输出响应(当然,也可以继续向其他组件“传递”),这个传递的过程称之为“转发”。整个过程只涉及一次浏览器和服务器之间的“请求-响应”,转发过程中的组件共享同一个请求(request)和响应(response)对象...
2020-07-04 12:46:55
617
原创 SpringMVC:SessionAttribute注解
在开发Web项目时,通常都会需要使用到Session域和Request域,比如在浏览器Cookie中加载基本的用户名信息。如果在Spring的控制器映射方法中获取Servlet原生API(HttpServletRequest)来实现,会导致程序的耦合性大大提高,需要引入相应的炸包。所以我们为了减少相应的依赖,完全使用SpringMVC提供的注解来解决这个问题。@Controller("...
2020-07-04 12:46:30
233
原创 SpringMVC:ModelAttribute注解
ModelAttribute注解是SpringMVC中用来修饰控制器方法的一个标签,有ModelAttribute注解的方法将在所有控制器映射方法之前执行。它的主要使用场景和作用是:当从浏览器的表单返回的实体类数据缺失,不完整的时,我们用该方法对获取的数据进行预处理,确保缺失数据的字段能够使用数据库对象原来的数据。注意ModelAttribute注解方法只对缺失数据进行补充,而不会改变从浏览器返回...
2020-07-04 12:46:19
146
原创 解决Idea创建Maven-Web工程的时候下载速度慢:
如何解决Idea创建Maven-Web工程的时候下载速度慢:和解决pom.xml文件下载依赖速度慢的原理是一样的,将下载网点从国外网点转为国内的阿里网点下载即可,解决方法是在创建工程时添加一组键值对:添加键值对archetypeCatalog:internal...
2020-07-04 12:46:09
383
原创 SpringMVC:过滤静态资源
SpringMVC中拦截器也就是前端控制器,是大环境必须要的内容,它能够配置我们的servlet的加载和拦截。<!-- 前端控制器,是大环境必须的内容--> <servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.s...
2020-07-04 12:46:01
302
原创 SpringMVC:静态资源过滤
https://www.cnblogs.com/linnuo/p/7699401.html建议使用第二种在web.xml中配置过滤,而不是在spring.xml中配置,感觉那个在前端控制器配置一切资源均拦截的情况下不起作用。...
2020-07-04 12:45:52
288
原创 SpringMVC:实现文件上传
1.文件上传方式的回顾1.1 导入文件上传的jar包:<!-- 导入文件上传所需要的jar包--> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <v...
2020-07-04 12:45:09
154
原创 Idea里web项目找不到MANIFEST.MF文件的处理&jsp和js修改之后重启服务器仍然显示之前的内容
1.在Project Structrue发现没有,但是pom文件不显示这次遇到的情况是tomcat能够正常运行,但是项目无法部署,整个工程是用idea的maven项目生成器生成的。pom文件也没有报错,本来以为配置文件没问题,是自己服务器没有部署好项目,但是始终找不到问题所在。之后对比了之前好的项目,发现在Project Structrue里面找不到这个MANIFEST.MF文件,百度之后...
2020-07-04 12:45:01
1188
原创 SpringMVC:跨服务器的文件上传
1.分服务器的目的在实际开发中,我们会有很多处理不同功能的服务器。例如:应用服务器:负责部署应用;数据库服务器:运行我们的数据库;缓存和消息服务器:负责处理大并发访问的缓存和消息;文件服务器:负责存储用户上传文件的服务器。在springMVC_day03_fileUpload项目中我运行两个tomcat来模拟跨服务器上传。暂时传不了,不知道为啥。一直报404....
2020-07-04 12:44:50
119
原创 SpringMVC:异常的处理
1.异常处理思路Controller调用Service,Service调用Dao,异常是向上抛出的,最终由DispatcherServlet找异常处理器进行异常处理2.代码编写和配置2.1 编写自定义类package nju.software.exception;/** * 自定义的异常类 */public class SysException extends Ex...
2020-07-04 12:44:41
87
原创 SpringMVC:拦截器
1.基本概念拦截器是AOP面向切面编程的应用,即代理。它通过指定切入点在其前后进行代码增强以达到简化公共代码以及实现拦截和过滤的作用。拦截器链是将拦截器按照一定的顺序连接,在访问被拦截的字段或方法的时候,拦截器链中的拦截器会按照其之前定义的顺序被使用。拦截器和过滤器都是进行增强的实现,它们看起来功能类似,但也有如下区别:1) 过滤器是servlet规范中的一部分,任何java web工...
2020-07-04 12:44:31
92
原创 SpringBoot:SpringMVC的自动配置原理
1.以下是SpringBoot官方文档中关于SpringMVC的自动配置的内容Spring MVC Auto-configurationSpring Boot provides auto-configuration for Spring MVC that works well with most applications.The auto-configuration adds the ...
2020-07-04 12:44:23
163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人