![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
java后端指南
公众号:java后端指南
展开
-
BeanUtils.copyProperties的使用
这个东西还是非常有用的BeanUtils是深拷贝,还是浅拷贝?是浅拷贝。浅拷贝: 只是调用子对象的set方法,并没有将所有属性拷贝。(也就是说,引用的一个内存地址)深拷贝: 将子对象的属性也拷贝过去。使用BeanUtils.copyProperties(object1, object2);参考:https://blog.csdn.net/enthan809882/article/details/104956537/...原创 2020-12-17 15:31:34 · 138 阅读 · 0 评论 -
Maps.newHashMap()是个啥
今天在看代码的时候,发现了一个比较奇怪的写法,总之没见过Maps.newHashMap(),后面查资料知道这是这是引用了谷歌提供的guava包 <!-- google java lib --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>17.0</versio原创 2020-10-10 13:24:09 · 5607 阅读 · 0 评论 -
@JsonSerialize和@JsonDeserialize的使用
今天在公司看代码的时候,看到两个注解@JsonSerialize和@JsonDeserialize,这是在实体类的一个字段上加的这个两个注解 @JsonSerialize(using=Long2String.class) @JsonDeserialize(using=String2Long.class) private Long studentId;这是一个studentId,是Long类型,但是我不知道为什么要转成String类型,后面查了文章说后端传到前端的Long类型有可能会出现精度丢失的问原创 2020-10-10 11:38:50 · 1078 阅读 · 0 评论 -
@Constraint注解配合自定义验证类型注解的开发
https://blog.csdn.net/lwg_1540652358/article/details/84193759转载 2020-10-10 11:08:28 · 197 阅读 · 0 评论 -
@NotNull,@NotBlank和 @NotEmpty学习
三个注解学习:@NotNull://CharSequence, Collection, Map 和 Array 对象不能是 null, 但可以是空集(size = 0)。 @NotEmpty://CharSequence, Collection, Map 和 Array 对象不能是 null 并且相关对象的 size 大于 0。 @NotBlank://String 不能是 null 且去除两端空白字符后的长度(trimmed length)大于 0。首先我们要知道,这个三个注解所在的包,都是在s原创 2020-10-10 10:56:19 · 925 阅读 · 0 评论 -
@Column注解的各个字段的解释
查看源码:@Target({ElementType.METHOD, ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface Column { String name() default ""; boolean unique() default false; boolean nullable() default true; boolean insertable() default原创 2020-10-09 13:26:57 · 2095 阅读 · 0 评论 -
spring_mybatis整合过程
pom.xml: <!--log4j2的依赖--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.10.0</version> <原创 2020-08-02 20:32:27 · 123 阅读 · 0 评论 -
spring-ioc入门配置
文章目录一、通过xml配置二、注解配置用spring测试框架简化操作一、通过xml配置pom.xml: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency>原创 2020-08-02 19:30:59 · 119 阅读 · 0 评论 -
@Autowired装配没用,报空指针异常
这里我的自动装配无效,fly为空,原因如下:这个自动装配语句在加载配置文件之前就执行了,所以自动装配为空可以用spring的测试框架提前加载配置文件,这样自动装配就有用原创 2020-08-02 19:21:42 · 571 阅读 · 0 评论 -
spring工程重构为web工程步骤
web.xml:(里面添加) <!-- 确定spring配置文件位置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-config.xml</param-value> </context-param> <!-- 配置spring 监听器,加载原创 2020-07-28 15:45:46 · 339 阅读 · 0 评论 -
jdbcTemplate在Dao中使用
bean.xml:<?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原创 2020-07-26 20:52:56 · 201 阅读 · 0 评论 -
jdbcTemplate的CRUD操作
bean.xml:<?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原创 2020-07-26 20:27:25 · 303 阅读 · 0 评论 -
jdbctemplate在spring的ioc中使用
bean.xml:<?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原创 2020-07-26 19:50:06 · 182 阅读 · 0 评论 -
jdbctemplate的基本使用
import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.datasource.DriverManagerDataSource;/** * JdbcTemplate的最基本用法 */public class JdbcTemplateDemo { public static void main(String[] args) { //准备数据源,spring内置数据源.原创 2020-07-26 19:16:28 · 98 阅读 · 0 评论 -
spring md5加密
DigestUtils工具类public String EncodeByMd5(String password) { String md5Password = DigestUtils.md5DigestAsHex(password.getBytes()); return md5Password;}原创 2020-07-25 19:55:40 · 103 阅读 · 0 评论 -
aop point的一些用法
//获取参数 Object[] objects=point.getArgs(); //得到类名 point.getTarget().getClass().getSimpleName() //得到方法名 point.getSignature().getName() @Around("myPointCut()") public Object checkRole(ProceedingJoinPoint point) throws Throwable{ Us.原创 2020-07-25 19:53:55 · 578 阅读 · 0 评论 -
spring aop
一 AOP的基本概念(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用(3)Advice(通知):AOP在特定的切入点上执行的增强处理,有before,after,afterReturning,afterThrowing,around(4)Pointcut(切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式(5)AOP代理:AOP框架创建的对象,代理就是目标对象的加强。Spring中的A原创 2020-07-25 19:31:21 · 99 阅读 · 0 评论 -
经典web mvc工程类创建
Book.java:public class Book { private int bId; private String bName; private float price; private int pageCount; public Book() { } public Book(int bId, String bName, float price, int pageCount) { this.bId = bId;原创 2020-07-25 19:12:46 · 108 阅读 · 0 评论 -
spring单元测试框架
pom.xml: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.17.RELEASE</version> <scope>test</scop原创 2020-07-25 17:42:27 · 171 阅读 · 0 评论 -
spring对象集合属性注入
CollectionBean.java:public class CollectionBean { private String[] arrayData=new String[3]; private List<String> listData; private Set<String> setData; private Map<String,Object> mapData; private Properties propsData;原创 2020-07-25 17:27:47 · 222 阅读 · 0 评论 -
spring对象自动装配
byType 根据属性类型自动装配。BeanFactory查找容器中的全部Bean,如果正好有一个与依赖属性类型相同的Bean,就自动装配这个属性;如果有多个这样的Bean,Spring无法决定注入哪个Bean,就抛出一个致命异常;如果没有匹配的Bean,就什么都不会发生,属性不会被设置byName 根据属性名自动装配。BeanFactory查找容器中的全部Bean,找出id与属性的setter方法入参匹配的Bean。找到即自动注入,否则什么都不做constructor 与by.原创 2020-07-25 17:09:54 · 175 阅读 · 0 评论 -
spring对象生命周期
例子:spring-config.xml:<?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.原创 2020-07-25 15:49:01 · 96 阅读 · 0 评论 -
spring的两种注入方式
一、设值注入Plane.java:public class Plane implements Fly { public Plane() { System.out.println("飞机被创建"); } @Override public void fly() { System.out.println("飞机飞"); }}HotBallon.java:public class HotBallon implements Fly原创 2020-07-25 15:43:14 · 327 阅读 · 0 评论 -
切入点表达式的写法:
切入点表达式的写法: 关键字:execution(表达式) 表达式: 访问修饰符 返回值 包名.包名....类名.方法名(参数列表) 标准表达式写法: public void com.wance.service.impl.AccountServiceImpl.saveCount() 访问修饰符可以省略...原创 2020-07-23 22:59:52 · 1020 阅读 · 0 评论 -
spring基于xml的AOP配置编写
在业务类中实现在每个方法执行之前执行Logger类中的方法spring中基于XML的AOP配置步骤: <!--1、把通知Bean也交给spring来管理 2.使用aop:config标签表明开始Aop的配置 3.使用aop:aspect标签表明配置切面 id属性:是给切面提供一个唯一标识 ref属性:是指定通知类bean的id 4.在aop:aspect标签内部使用对应标签来配置通知类型 我们现在示例是原创 2020-07-23 22:53:57 · 189 阅读 · 0 评论 -
spring基于XML的IOC环境搭建和入门
MessageService.java:public class MessageService { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; }}spring-config.xml:<?x原创 2020-07-22 22:59:13 · 146 阅读 · 0 评论 -
工程模式解耦
bean.properties:accountService=com.wance.service.impl.AccountServiceImplAccountServiceImpl.java:public class AccountServiceImpl implements AccountService { @Override public void saveAccount() { System.out.println("!!"); }}BeanF原创 2020-07-22 22:31:49 · 174 阅读 · 0 评论 -
程序的耦合和解耦思路分析
/** * 程序耦合 * 耦合:程序之间的依赖关系 * 包含: * 类之间的依赖 * 方法间的依赖 * 解耦: * 降低程序间的依赖关系 * 实际开发中: * 应该做到,编译器不依赖,运行时才依赖 * 解耦思路: * 第一步:使用反射来创建对象,而避免使用new关键字 * 第二步:通过读取配置文件来获取要创建的对象的全限定类名 * */public class JDBCDe.原创 2020-07-22 19:54:11 · 282 阅读 · 0 评论