- 博客(34)
- 收藏
- 关注
原创 SpringIoC依赖注入
SpringIoC依赖注入学习点依赖注入的模型和类型三级目录学习点依赖注入的模型和类型自动绑定自动绑定模式自动绑定限制和不足Setter方法依赖注入构造器依赖注入字段注入方法注入回调注入依赖注入类型选择依赖注入的模型和类型模式说明no默认值,未激活AutowiringbyName根据被注入属性的名称作为Bean名称进行依赖查找,并将对象设置到该属性byType根据被注入属性的类型作为依赖类型进行查找,并将对象设置到该属性constru
2024-01-10 11:39:26
377
原创 内建可查找的依赖
内建可查找的依赖AbstractApplicationContext内建可查找的依赖注解驱动Spring应用上下文内建可查的依赖(部分)AbstractApplicationContext内建可查找的依赖Bean名称Bean实例environmentEnvironment对象systemPropertiesjava.util.Properties 对象systemEnvironmentjava.util.Map 对象messageSourceMessageS
2024-01-10 11:39:07
440
原创 Spring Bean 生命周期
Spring Bean 生命周期Spring Bean元信息配置阶段BeanDefinition配置Spring Bean 元信息配置阶段Spring Bean 元信息解析阶段Spring Bean 注册阶段Spring BeanDefinition 合并阶段Spring Bean Class 加载阶段Spring Bean 实例化前阶段Spring Bean 实例化阶段Spring Bean 实例化后阶段Spring Bean 属性赋值前阶段Spring Bean Aware接口回
2024-01-10 11:38:29
827
原创 Spring BeanScope
Bean的作用域1. BeanScope1.1 Singleton1.2 Prototype1.3 Singleton和Prototype区别扩展1.4 自定义Scope1.5 改善SimpleDateFormat1. BeanScope1.1 Singleton单例,在Bean容器启动初始化后,SingletonBean只会初始化一次;因此对象是唯一的查看代码org.springframework.beans.factory.support.DefaultSingletonBeanRegistry
2021-10-24 22:19:31
2234
原创 Spring IoC 依赖查找
依赖查找双亲委派机制HierarchicalBeanFactoryBeanFactoryUtils什么是双亲委派机制?先找“老子”,再找“小子”。双亲委派机制HierarchicalBeanFactoryHierarchicalBeanFactory是层次性BeanFactory。查看HierarchicalBeanFactory继承树获取ConfigurableListableBeanFactoryConfigurableListableBeanFactory bean
2021-10-14 11:01:16
190
原创 Spring Bean基础
Spring Bean基础1 定义Spring Bean1.1 什么是BeanDefinition?1 定义Spring Bean1.1 什么是BeanDefinition?BeanDefinition是Spring Framework中定义Bean的配置元信息接口,包含:Bean的类名Bean行为配置元素,如作用域,自动绑定的模式(@Autowired),声明周期回调等其他Bean引用,又称合作者或者依赖配置设置,比如Bean属性(Properties),例如数据库连接池的设置...
2021-10-11 16:41:39
441
原创 FactoryBean和BeanFactory的差别
FactoryBean和BeanFactory的差别FactoryBean是创建Bean的一种方式,帮助实现复杂的初始化逻辑;public class UserFactoryBean implements FactoryBean<User> { @Override public User getObject() throws Exception { User user = new User(); user.setAge(12);
2021-10-11 16:11:35
106
原创 Spring IOC容器(依赖)
1 IOC依赖查找事先准备一个spring xml,启动Spring应用的上下文<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springf
2021-10-10 20:47:22
199
原创 IOC基础
什么是IOC百度查询即可(控制反转)IOC主要实现策略IOC主要实现策略来源Using a service locator pattern 服务定位模式( )依赖注入构造器注入参数注入setter注入接口注入上下文的依赖查询模板方法设计模式策略模式可以大体分为两种:依赖查找,依赖注入q...
2021-10-10 16:11:53
96
原创 Spring学习前言
Spring版本对应java版本选择Spring版本的时候需要对应jdk版本模块分布aop,aspects:AOPbeans,context,core:IOCexpression:spring表达式语言(SpringEL)instrument:对java agent的支持,java agent来监测和协助运行在 JVM 上的程序jcl:日志维护jdbc:对jdbc的整合jms:JAVAEE消息服务的支持messaging:spring统一消息中间件规范orm:mybatisoxm:
2021-10-09 19:35:16
104
原创 学习使用Jprofiler(内存/遥感检测)
profile a demo session or a saved session 选择一个保存的sessionAttach to a running JVM 选择一个正在运行的JVMProfile an application server,locally or remotely 连接本地或者远程的应用Open a snapshot 打开一个快照
2021-10-08 17:12:33
302
原创 idea出现Could not autowire. No beans of ‘CityMapper‘ type found.
这是出现在我们使用mybatis的时候出现的问题,如果运行代码是没有错的,但是出现这个红色波浪线看着烦。如下两种解决方式:在mapper文件上加@Repository注解在mapper文件上加@Component注解
2021-01-23 18:44:29
277
原创 两个有序链表合并成一个有序链表(非递归)
剑指offer25/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if(l1.
2020-11-25 15:58:12
306
1
原创 jsp+servlet+jdbc分页查询
直接上结构图edu.ahau.bean这是Page实体类,这里面封装了我们将在servlet里面需要用的参数public class Page {// 当前页 currentPage private int currentPage ;// 页面大小 pageSize private int pageSize ;// 总数据 totalCount private int totalCount;// 总页数 totalPage private int totalPage ;
2020-10-09 22:20:04
1091
3
原创 路灯算法
思路路灯算法的时候我们要想到这个路的首端和末端是否有路灯。如果两端都有路灯,那么我们只需要去找出在排列中相邻的两个最大数的差值;若是没有,则进行比较即可。下面是代码:/** * */package 基础题;/** * @author zx天才 * @version 2020年9月12日 * @paramMain.java * @Description: */import java.util.Scanner;import java.util.*;public class.
2020-09-12 10:35:16
640
原创 翻转算法(区间段)
/** * */package 基础题;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;import java.util.Scanner;/** * @author zx天才 * @version 2020年9月11日 * @paramFanZhuan.java * @Description: */public cl.
2020-09-11 23:39:58
347
原创 约德尔算法
package 基础题;import java.util.Scanner;/** * @author zx天才 * @version 2020年9月11日 * @paramYueDeEr.java * @Description: */public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.next.
2020-09-11 23:29:45
176
原创 @ResponseBody 和 @RequestBody 注解的区别
@ResponseBody :一般在使用的时候会有@RequestMapping(请求地址映射),加上这个注解就会不会跳转,直接返回JSON数据。@RequestBody:获取客户端的传输的数据。public void save16(@RequestParam(value="name",required = false,defaultValue = "itcast") String username) throws IOException { System.out.println(use
2020-09-06 00:09:06
229
原创 springmvc关于乱码的问题
前景回顾我们在学习servlet的时候也会有编码问题,因此我们想要保证编码不出问题,一般都是在doGet或者doPost方法下去设置response和request的encoding,或者就是在我们启动servlet的时候直接初始化encoding。可以在web.xml中去配置过滤器。 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-cl
2020-09-05 23:35:57
102
原创 springMVC自定义转换器
springmvc已经给我们提供了一些转换器,譬如我们客户端提交的数据String转换成int类型开发步骤:创建一个class实现Converter接public class DateConverter implements Converter<String, Date> { public Date convert(String dateStr) { //将日期字符串转换成日期对象 返回 SimpleDateFormat format = new
2020-09-05 23:17:10
122
原创 SpringMVC关于数据响应知识总结
1. 页面跳转1) 直接返回字符串@Controller@RequesttMapping("/user")public class UserController{ @RequesttMapping("/qucik") public String jump(){ return "/jsp/success.jsp"; } }@RequestMapping 这个注解我们是需要用xml去配置,我们在前面用spring的时候知道Context中的扫描组件,因此我们在此时也需要去用S
2020-09-05 00:40:08
221
原创 c3p0和Druid数据库的连接
c3p0public void test() throws PropertyVetoException, SQLException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC"); dataSource.setDriverClass("com.mysql.c
2020-08-31 13:12:02
234
原创 Spring的类型注入
注入的方式1)set注入在UserServiceImpl中添加setUserDao方法public class UserServiceImpl implements UserService{ private UserDao userDao; public void setUserDao(UserDao userDao){ this.userDao = userDao; } @Override public void save(){ userDao.save(); }}<
2020-08-30 23:49:06
280
原创 关于直接声明String和new String()区别
首先我们要明确String本质上是finalString s1 = “a”; 此时s1指的是常量池中的"a"String s2= s1 + “b”; 此时s2指的是堆里面的"ab",原来的"a"字符串对象已经丢失,在堆空间里面产生一个字符串s1+“b”。这样是会降低效率,尤其是在循环中。String s3 = “ab”; 此时s3指向的是常量池中的"ab"。String s4= “a”+“b” ;此时s4指向已经创建好的字符串“ab”.String s5 = s1.
2020-08-22 15:51:40
503
转载 proxy-target-class作用
proxy-target-class 作用该属性值默认为false,表示使用JDK动态代理织入增强;当值为true时,表示使用CGLib动态代理织入增强;但是,即使设置为false,如果目标类没有生命接口,则Spring将自动使用CGLib动态代理.(以上来自:Spring3.X企业应用开发实战 P229)通俗理解:当要使用实现了某个接口的类让Spring来生成bean时,无需在aop配置中添加proxy-target-class,因为它默认为false.但如果要使用一个指定的类,让Spring
2020-07-08 23:59:51
914
原创 Spring的通知类AOP
一个普通的类 -> 通知类a.实现接口 b.注解-a.实现接口将一个普通类设置为通知类通知类 (实现的接口)分为前置通知(MethodBeforeAdvice),后置通知(AfterReturningAdvice),环绕通知(MethodInvoction),异常通知(ThrowsAdvice),最终通知(AfterAdvice)。我只做其中的一个,剩下的几乎就是照葫芦画瓢下面的代码是我写的一个后置通知的实现类,实现的接口是org.springframework.aop.AfterR.
2020-05-31 22:57:19
130
原创 Cookie
Cookie: name => valuejavax.servlet.http.Cookiepublic Cookie(String name,String value)String getName():获取nameString getValue():获取valuevoid setMaxAge():最大有效期(秒)在服务端增加Cookie:response对象客服端获取对象:r...
2020-05-30 21:20:07
91
原创 MyBatis的一对多查询
在这里我贴出我的对象类public class UserClass {private int classId;private String className;//增加用户属性,让Usercalss和user建立联系private List<User> users;public List<User> getUsers() { return users;}public void setUsers(List<User> users) { this.user
2020-05-27 23:17:36
126
原创 Mybatis的遍历查询
<!-- 数组遍历 --> <select id="queryUserByIDArray" resultType="User" parameterType="int[]"> select * from user <where> <if test="array != null and array.length > 0"> <foreach collection="array" open="and id in(" clos
2020-05-27 22:31:55
2959
原创 generator.xml配置
将下面的代码直接复制粘贴即可<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguratio
2020-05-25 19:04:44
328
原创 MyBatis的类型转换器
MyBatis全局参数在config.xml中设置格式如下:<!-- 设置是否缓存--><settings> <setting name="cacheEnable" vaiue="false" /></settings>定义别名在我们定义parameterType时候会大量用到对象edu.ahau.entity.User,会比较麻烦。我们可以根据以下方法设置别名:a.设置单个别名 设置的别名不区分大小写<typeAli.
2020-05-20 22:43:01
589
原创 最基本的MyBatis建立与测试
创建一个基本的MyBatis1.先找关于MyBatis的jar包mybatis的jar包下载地址下载mysql-connector为什么下载mysql-connector因为MyBatis是基于底层数据库的,所以需要下载mysql-connector2.按照数据库中表建立相对应的User对象3.设置mappermapper.xml的设置其实从本质上来说就是对sql语句的封装,直接上截图对于namespace可设置为你设置mapper的包路径id是唯一的4.设置confi
2020-05-19 23:39:30
197
转载 关于重定向和请求转发的区别
void sendRedirect(String location) throws IOException;页面跳转的一种方式(重定向) 会导致数据的丢失request.getRequestDispatcher("success.jsp").forward(request,response);可以请求网页跳转 跳转过后,地址不改变。...
2019-07-10 17:52:32
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人