自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 SpringBoot的四种属性注入方式

在SpringBoot中,提供了一种新的属性注入方式,支持各种java基本数据类型及复杂类型的注入。下面进行代码示例创建application.properties配置文件,SpringBoot在服务器启动时会默认自动读取该配置文件,并进行相关信息的配置,下面准备一段用于演示的配置信息jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://127.0.0.1:3306/youjdbc.username=rootjdb

2020-09-18 16:36:28 1355 2

原创 SpringBoot入门案例

1.先创建一个maven工程,在pom.xml文件导入坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

2020-09-17 12:56:08 195

原创 SpringBoot概述

在学习了SSM框架整合后,会发现有两个比较大的缺点1.复杂的配置在Java开发中,我们需要提供很多的配置文件来为项目做准备。当一个项目特别大的时候,光是配置文件可能就有几十个。就会让项目看起来十分的臃肿2.混乱的依赖管理需要考虑要用那些库,需要考虑版本问题,需要考虑冲突问题而SpringBoot的出现就是为了解决这两个问题SpringBoot的特点:1.内置了TomCat,Jetty2.尽量自动配置Spring与第三方库3.不会生成代码,且不需要XML文件...

2020-09-17 09:51:00 173

原创 Java中反射机制中的一些API操作

一.获取字节码Class对象的三种方式1.用于源码阶段,Class.forName("全类名"):类加载器会将字节码文件加载进内存,返回Class对象,一般用于配置文件例如:Class cls = Class.forName("cn.itylm.domian.User");2.用于Class类对象阶段,类名.class:通过类名的属性class获取,一般用于参数传递例如:Class cls = User.class3.Runtime运行时阶段,对象.getClass():通过实例化的对象

2020-09-12 11:31:40 85

原创 Java中的反射机制

在了解反射机制之前我们先了解一下java代码在如何在电脑上成功运的这主要分为3个阶段1.源码阶段在源码阶段我们会进行编写源代码,例如User.javapublic class User { private String username; private String password; public User(String username, String password) { this.username = username;

2020-09-11 16:33:23 67

原创 SSM框架整合入门案例

在这里我习惯的是xml文件+注解的方式进行整合整合思路:1.搭建环境2.搭建的Spring的环境3.使用Spring整合SpringMVC4.使用Spring整合Mybatis一.搭建环境1.首先在MySQL中创建一个用于演示的表CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), money DOUBLE );2.创建maven工程...

2020-09-10 20:03:54 108

原创 SpringMVC中拦截器概述与入门使用

SpringMVC中的拦截器类似WEB工程中的过滤器Filter,是用于对控制器进行预处理和后处理的。拦截器与过滤器的区别:过滤器是Servlet中规范的一部分,任何Javaweb工程都能使用拦截器是SpringMVC独有的,只有SpringMVC框架能使用拦截器过滤器可以实现对所有要反问的资源进行拦截拦截器只能拦截访问控制器的方法,像jsp,html,css是不会进行拦截的拦截器应用的是AOP思想,如果想自定义拦截器,需要去实现HandlerInterceptor接口下..

2020-09-10 10:25:55 90

原创 SpringMVC的异常处理

1.先定义一个自定义异常类public class SysException extends Exception{ private String mess; public String getMess() { return mess; } public void setMess(String mess) { this.mess = mess; } public SysException(String mess) {

2020-09-09 19:27:22 76

原创 SpringMVC中使用json格式发送Ajax请求

首先在jsp上先写一个Ajax请求<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head> <title>Title</title> <script src="js/jquery.min.js"></script> <script> $(function () {

2020-09-09 15:10:49 106

原创 SpringMVC中过滤静态资源

一般来说我们在WEB-INF下配置SpringMVC的核心控住器都是这样配置的<init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:SpringMVC.xml</param-value> </init-param> <!-- 配置 servlet 的对象的创建时间点:应用加载

2020-09-09 12:38:43 269

原创 SpringMVC中的转发和重定向

1.转发先写一个jsp用于测试<html><head> <title>Title</title></head><body><a href="user/testforward">forward</a></body></html>编写控制器@Controller@RequestMapping("/user")public class UserCont

2020-09-09 10:30:20 175

原创 SpringMVC中控制器方法返回值是ModelAndView对象

ModelAndView对象是SpringMVC中提供的一个对象,我们直接使用就好,该对象有两个常用的方法ModelAndView.addObject() 把user对象存储到mv对象中,也会把user对象存到request对象ModelAndView.setViewName()跳转到那个页面代码示例:@Controller@RequestMapping("/user")public class UserController { @RequestMap...

2020-09-07 18:51:57 493

原创 SpringMVC中的控制器返回值是void

这里先将控制器的方法返回值编写为void@Controller@RequestMapping("/user")public class UserController { @RequestMapping("/testVoid") public void testVoid(){ System.out.println("testVoid方法执行了"); }}前端代码<html><head> <t

2020-09-07 18:38:14 714

原创 SpringMVC中控制器返回值是String类型

在SpringMVC中的控制器数据类型如果String,Controller方法返回字符串可以指定逻辑视图的名称,根据视图解析器为物理视图的地址。具体应用场景,可以将从数据库中取得的数据传递到前端@Controller@RequestMapping("/user")public class UserController { @RequestMapping("/testString") public String testString(Model model){ .

2020-09-07 17:54:48 1096 1

原创 SpringMVC中常用的一些注解

1.@RequestParam有时候回出现请求中参数的名称与控制器参数不一致的情况这个时候就可以使用@RequestParam来解决这个问题属性1. value:请求参数中的名称 2. required:请求参数中是否必须提供此参数,默认值是true,必须提供代码示例这里有个参数名为username=YOU的请求<a href="hello?username=YOU">RequestParam</a>控制器//控制器类@Controll

2020-09-06 17:41:26 117

原创 SpringMVC中获得原生的Servlet的API

有的时候我们需要用到原生的Servlet的一些方法,比如想要获得session就需要用到request的方法,这时我们只需要在控制器的方法参数定义HttpServletRequest和HttpServletResponse对象 代码示例:@Controllerpublic class HelloController { @RequestMapping("/hello") public String sayHello(HttpServletRequest request, .

2020-09-06 12:54:31 141

原创 SpringMVC 自定义类型转换器

1. 表单提交的任何数据类型全部都是字符串类型,但是后台定义Integer类型,数据也可以封装上,说明 Spring框架内部会默认进行数据类型转换。 2. 如果想自定义数据类型转换,可以实现Converter的接口 自定义类型转换器public class StringToDateConverter implements Converter<String, Date> { public Date convert(String source) { ..

2020-09-06 11:06:49 60

原创 SpringMVC解决中文乱码问题

在通过post方式提交表单,在服务器接收的中文会变成乱码。在SpringMVC中提供了一个过滤器来解决这样的问题在web.xml配置过滤器<!-- 配置过滤器,解决中文乱码的问题 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncoding

2020-09-06 10:33:43 86

原创 SpringMVC中请求参数的绑定

在WEB开发中,经常出现用户提交表单,带着一些参数发来请求。比如在登入账号时带着账户和密码向服务器发送请求。那么在服务器这边我们就必须将这些参数拿到,将这些参数拿到的过程就是参数绑定在SpringMVC中,支持绑定的数据类型有3类1.基本数据类型和字符串类型2.实体类型(JavaBean)3.集合数据类型(List,map集合等)下面就开始演示如何绑定这3种类型的参数1.基本数据类型和字符串类型表单提交的数据都是k=v格式的,就像username=You&passw.

2020-09-06 10:31:12 129

原创 SpringMVC入门案例与解析

下面开始从零搭建一个SpringMVC的入门案例1.首先创建一个Maven工程,注意要选择maven中自带的骨架,具体名称如下图2.在pom.xml文件导入必要包的坐标<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.sourc

2020-09-05 15:36:21 169

原创 SpringMVC概述

SpringMVC是基于Java实现的一个MVC设计模型的WEB架构,在三层架构上, SpringMVC应用在表现层上,它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持 RESTful 编程风格的请求。 SpringMVC的优势。1.清晰的角色划分前端控制器(DispatcherServlet)请求到处理器映射(HandlerMapping) 处理器适配器(HandlerAdapter) 视图解析器(ViewResolver) 处.

2020-09-05 13:33:38 95

原创 三层架构和MVC的设计模式

一.三层架构一般服务器端程序主要是两种形式,B/S架构(采用浏览器和服务器)和C/S(客户端和服务器,比如QQ),而使用Java语言是非常适合B/S架构程序开发。而现在B/S在开发过程中,一般都是采用三层架构开发所谓三层架构便是1.表现层:web层,一般是将服务器发过来的数据用于展示给客户。一般会用MVC的设计模型2.业务层:处理从持久层传来的数据,将其进行业务的逻辑处理3.持久层:用于与数据库交互的二.MVC模型MVC的全名是Model View Controller模型视图控

2020-09-05 12:16:47 521

原创 Spring中AOP的环绕通知

关于Spring的环绕通知,按照我的理解就是通过代码的形式来实现切入点的4种通知。它是spring框架为我们提供的一种可以在代码中手动控制增强方法何时执行的方式。首先在配置文件加入环绕通知的配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.o.

2020-09-04 16:17:28 950

原创 spring中AOP的四种常用通知

spring中AOP的四种常用通知,分别是前置通知:在切入点方法执行前执行的方法后置通知:在切入点方法执行后执行的方法异常通知:在切入点方法动态代理中发生错误时执行的方法最终通知:在切入点方法动态代理结束后执行的方法代码演示首先是创建一个UserService的接口和实现类public interface UserService { public void save(); public void update(); public int delet.

2020-09-04 15:42:53 809

原创 Spring的AOP入门案例

这里开始搭建一个简单的AOP案例首先建立一个maven工程,在pom文件导入坐标<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version></dependency><depende

2020-09-04 14:40:34 396

原创 Spring的AOP概述

Spring的一个非常重要的功能便是AOPAOP全称为Aspect Oriented Programming 即:面向切面编程AOP的功能简单来说就是将程序中的重复代码抽取出来,在需要执行的时候通过动态代理的方式,在不修改代码的基础上,实现对功能增强,提高程序的可用性,同时也能大大提高开发效率AOP的作用:在程序运行过程中,在不修改源码的基础上实现功能增强使用AOP的好处:减少重复代码提高开发效率后期便于维护...

2020-09-04 12:30:51 118

原创 Java基于子类的动态代理

想要基于子类的动态代理需要依赖外部的jar包在pom文件加入坐标<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.1_3</version></dependency>/** * 动态代理: * 特点:字节码随用随创建,随用随加载 * 作用:不修改源码的基

2020-09-04 11:01:56 137

原创 Java基于接口的动态代理

* 增强对象的功能:* 设计模式:一些通用的解决固定问题的方式代理模式* 概念:1. 真实对象:被代理的对象2. 代理对象:3. 代理模式:代理对象代理真实对象,达到增强真实对象功能的目的* 实现方式:1. 静态代理:有一个类文件描述代理模式2. 动态代理:在内存中形成代理类* 实现步骤:1. 代理对象和真实对象实现相同的接口2. 代理对象 = Proxy.newProxyInstance();3. 使用代理对象调用方法。4. 增强方法* 增强方式

2020-09-04 10:33:42 162

原创 spring中基于注解实现IOC

使用注解的形式来实现spring的IOC功能使用注解,首先要在配置文件进行配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/

2020-09-03 15:41:00 420

原创 spring之IOC基于注解注入集合属性

public class AccountDaoImpl implements AccountDao { private String[] myStrs; private List<String> myList; private Set<String> mySet; private Map<String, String> myMap; private Properties myProps; public void setM.

2020-09-03 13:00:09 728

原创 Spring的依赖注入概述与注入方式

Spring的核心功能之一便是IOC(控制反转),其作用便是降低类与类之间的依赖,降级程序间的耦合,便于之后的代码维护,但想要完全消除类与类之间的依赖关系是不可能的。那么这里将类与类之间的依赖交给spring来管理,在当前类需要用到其他类的时候,由spring来提供,我们只需在配置文件进行配置即可。那么,所谓的依赖注入便是依赖关系之间的维护能够注入的数据有3类1.基本类型和String2.其他bean类型(在配置文件或者注解配置过的bean)3.复杂类型/集合类型注入的方式也有3

2020-09-03 12:44:41 121

原创 Spring实例化 Bean 的三种方式

第一种方式:使用默认无参构造函数 它会根据默认无参构造函数来创建类对象。如果 bean 中没有默认无参构造函数,将会创建失败。<bean id="accountDao" class="com.itylm.dao.Impl.AccountDaoImpl" scope="singleton" init-method="init" destroy-method="dest"></bean>第二种方法:使用工厂的方法来创建对象/*模拟工厂 */pub

2020-09-03 10:20:03 72

原创 bean标签细节以及bean对象的生命周期

1.bean标签例子:<bean id="accountDao" class="com.itylm.dao.Impl.AccountDaoImpl" scope="singleton" init-method="init" destroy-method="dest"></bean>作用:用于配置对象让spring来创建(默认调用的是类中的无参构造函数)属性:id:给对象在容器中的唯一标识,用于获取对象class:指定类的全限定类名,用于反射创建对象sco

2020-09-02 18:00:10 122

原创 BeanFactory 和 ApplicationContext 的区别以及ApplicationContext 接口的3个实现类

在spring容器中有两个比较重要的接口BeanFactory 和 ApplicationContext其中BeanFactory是Spring容器的顶级接口ApplicationContext是它的子接口其中BeanFactory是立即加载,在容器创建好后,它会立即将所需要的对象创建好并存入到容器中而ApplicationContext是延迟加载,在容器创建好后,不会有下一步的动作,当程序需要对象时,它才会将所需的对象创建好后存入容器中并使用ApplicationCon...

2020-09-02 16:41:36 271 1

原创 Spring基于xml的IOC环境搭建和入门

1.首先在maven工程中的pom.xml进行导包<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version></dependency>2.创建演示所用的实体类dao:public

2020-09-02 16:18:15 112

原创 Spring中IOC(控制反转)的概述与作用

在之前,我们创建对象是直接new出来的,需要依赖其他的实体类。整个项目中,类与类之间是存在依赖的。特别是之后项目与代码规格大了,直接new对象的话类与类之间的依赖就会变得十分严重,那么在后期想要修改维护代码的话,就会变得十分困难。然后就有新的思想出来了,就是在实际开发中,当启动服务器时,让一个类中的方法通过读取配置文件,将需要的对象全部创建出来并存到一个容器中,在想要使用的时候直接拿出来使用即可。在Spring中就有这么一个工厂,用来创建存取所需的对象,当我们需要对象的时候,直接找工厂要即可。这

2020-09-02 14:53:02 489

原创 Mybatis 多表查询之多对多

在多对多关系中用用户和角色模型来模拟一个用户可以用多个角色一个角色可以被多人拥有角色表:用户表:用户与角色的中间表这里使用另外一种方法resultMap,定义专门的 resultMap 用于映射一对一查询结果。 创建用户Role的实体类拥有属性private int roleId;private String roleName;private String roleDesc;private List<User> users;创建持.

2020-09-02 12:33:52 138

原创 Mybatis 多表查询之一对多

这里用用户和账户模型来进行分析,一个用户可以拥有多个账户,账户对应唯一的用户用户表:账户表:一对一查询(多对一)创建account实体类对应的属性有private Integer id;private Integer uid;private Double money;执行SQL语句:SELECTaccount.*,user.username,user.addressFROMaccount,USERWHER...

2020-09-02 12:02:18 62

原创 Mybatis中数据库列名与实体类属性名不一致的处理方式

一般来说实体类的属性在设计时应该与数据库列名保持一致,便于之后的代码编写。但是总有些特殊情况导致属性名与数据库列名不一致,那么这里有两种处理方式。这里有个测试的例子数据库:实体类:可以看到属性与数据库列名不一致方法一:在sql语句中起别名用查询所有举例子在配置文件中配置sql语句这里测试类编写就省略了运行结果方法二:使用resultMap 标签在配置文件中进行配置result对应数据库的列名property对应实体类的属性resul

2020-09-02 10:14:29 713

原创 Mybatis之实体类的包装类作为参数

1.在dao层中添加方法/*根据QueryVo类中条件查询 */List<User> findByVo(QueryVo vo);2.在用户映射配置文件进行配置3.执行方法public static void main(String[] args) throws Exception { //1.读取配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

2020-07-26 00:10:55 539

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除