Spring bean作用域
类型XML配置文件定义Scope时,bean标签使用scope属性即可
Scope
描述
singleton
spring IoC容器只存在一个bean对象实例。
prototype
与单例相反,每次请求bean时,它都会创建一个新实例。
request
在HTTP请求(Request) 的完整生命周期中,将创建并使用单个实例。 只适用于web环境中Spring ApplicationContext中有效。
session
在HTTP会话(Session) 的完整生命周期中,将创建并使用单个实例。 只适用于web环境中Spring ApplicationContext中有效。
application
将在ServletContext的完整生命周期中创建并使用单个实例。只适用于web环境中Spring ApplicationContext中有效。
websocket
在WebSocket的完整生命周期中,将创建并使用单个实例。 只适用于web环境中Spring ApplicationContext中有效。
singleton和prototype的区别s ...
Spring的c和p命名空间
概述Spring的c和p命名空间可以注入依赖,也就是拓展方式注入
代码实现StudentClass实体类1234567891011121314151617181920212223242526272829303132333435363738394041424344package entity;/** * @author LeDao * @company * @create 2022-02-14 14:11 */public class StudentClass { private int id; private String name; public StudentClass() { } public StudentClass(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public vo ...
Spring依赖注入多种类型数据
Student实体类123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108package entity;import java.util.*;/** * @author LeDao * @company * @create 2022-02-13 21:26 */public class Student { private int id; private String name; private StudentClass studentClass; private String[] books; private List<String> hobbies; pr ...
Spring通过注解创建对象
使用到的注解使用到的注解有@Configuration和@Bean
@Configuration标注在类上,相当于把该类作为Spring的XML配置文件中的beans标签
@Bean标注在方法上(返回某个实例的方法),等价于Spring的XML配置文件中的bean标签,用于注册bean对象,如果没有定义name属性那么bean的id为方法名,定义了name属性那么bean的id为name的属性值(这时候就不可以用方法名了)
实现过程Student实体类12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455package entity;/** * @author LeDao * @company * @create 2022-02-13 21:26 */public class Student { private int id; private String name; /** * 无参构造方法,如果不存在 ...
Spring配置
概述Spring的配置有beans、bean、import、alias、description
说明beansSpring配置文件的根元素,里面可以包含很多个bean标签
123456<?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.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"></beans>
beanbean标签放在beans标签内部
每一个bean标签为一个对象,常用属 ...
Spring IOC创建对象
创建的方式Spring IOC可以通过无参构造方法和有参构造方法来创建对象,默认是通过无参构造方法创建
无参构造方法如果实体类不存在有参构造方法时可以省略,存在就需要自己写出来(不然就无法通过无参构造方法创建),也就是Set注入
Student实体类12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455package entity;/** * @author LeDao * @company * @create 2022-02-13 21:26 */public class Student { private int id; private String name; /** * 无参构造方法,如果不存在有参构造方法时可以省略,存在就需要自己写出来 */ public Student() { } /** * 有参构造方法 * * @par ...
Windows11设置环境变量
打开设置按下Windows键,点击设置的按钮
打开高级系统设置打开设置界面后,左侧菜单选择系统,右侧选择关于
然后点击高级系统设置
选择环境变量
添加环境变量点击第二个新建,第一个是当前用户的用户变量(只对当前用户有效),而环境变量对所有用户有效
Spring Boot使用jasypt加密数据库密码
引入jasypt依赖12345<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version></dependency>
设置jasypt加密的盐值在application.yml配置文件中设置jasypt加密的盐值
123jasypt: encryptor: password: ledao
获取加密后的数据库密码在测试模块中使用下面代码获取加密后的数据库密码,我的数据库密码为123456,下面代码在控制台打印加密后的数据库密码
1234567891011121314151617181920package com.ledao;import org.jasypt.encryption.StringEncryptor;import org.junit.jupiter. ...
Spring Boot引用application.yml配置文件的属性
添加一个属性首先在application.yml配置文件中添加一个属性,并给它赋值
直接在代码中引用通过@Value注解即可在当前类定义变量并获得属性的值
12@Value("${maxBorrowBookSize}")private Integer maxBorrowBookSize;
使用这个属性值就直接像一般变量那样使用即可,这个变量是当前类可用
12345if (borrowRecordList2.size() == maxBorrowBookSize) { resultMap.put("success", false); resultMap.put("errorInfo", "借书失败,你同时借阅的图书过多,每次最多同时借阅" + maxBorrowBookSize + "本图书!!"); return resultMap;}
使用配置文件属性实体类说明上面是直接在要使用属性的类中使用,这样不方便管理,如果多个类都 ...
图书管理系统
项目地址GitHub地址:https://github.com/a6678696/BookManageSystem
使用的技术本项目核心技术采用Spring Boot+Mybatis;开发工具idea;数据库MySQL5.6;界面采用了jQuery EasyUI框架;Quartz定时任务;
功能介绍普通用户查找图书、借书、续借图书、归还图书、修改密码、安全退出系统
管理员用户管理(增删改查、封禁和解封用户、设置用户是否可借书)、图书类别管理(增删改查)、图书管理(增删改查)、查看用户的借阅记录、修改密码、安全退出系统
系统每分钟自动检测用户正在借阅的书是否逾期,如果逾期就修改借阅记录的状态为逾期
每天23点自动删除无效的图片(没有被引用的图片,也就是说图片名称不在t_book表中的)
图片展示登录界面
用户首页
借书
借阅记录、续借和还书
修改密码
安全退出系统
管理员首页
用户管理
图书类别管理
图书管理
查看用户的借阅记录
修改密码
安全退出系统