Spring技术栈
Spring技术栈
CrazyL-
记录学习点点滴滴,一次共勉
展开
-
SpringBoot自动装配
EnableAutoConfiguration用于激活Spring Boot自动装配的特性。原创 2023-01-23 14:03:18 · 838 阅读 · 1 评论 -
mybatis if标签判断字符串相等
mybatis 映射文件中,if标签判断字符串相等,两种方式: 因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候,if test="sex=='Y'.toString()">if test = 'sex== "Y"'>注意: 不能使用if test="sex=='Y'">and 1=1if>因为mybatis会把’Y’转载 2018-01-30 16:07:34 · 493 阅读 · 0 评论 -
基于mybatis调用存储过程
参数的设置及参数的获取 HashMap paramMap = new HashMap(); paramMap.put("param1", "a"); paramMap.put("param2", 2); testMapper.getObject(paramMap); Integer retvalue = (Integer)paramMap.get("retvalue");xml文件<sel原创 2017-10-11 14:40:23 · 310 阅读 · 0 评论 -
设置允许mybatis一次执行多条sql
jdbc连接增加allowMultiQueries=true即可jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=truesql之间使用;分隔demo<update id="down"> UPDATE table SET原创 2017-09-13 17:59:17 · 9444 阅读 · 2 评论 -
mybatis.xml文件中#与$符号的区别以及数学符号的处理
转载: http://www.cnblogs.com/zhxn/p/6986744.html#{}表示一个占位符号,通过#{}可以实现preparedStatement向占位符中设置值,自动进行java类型和jdbc类型转换,#{}可以有效防止sql注入。 #{}可以接收简单类型值或pojo属性值。 如果parameterType传输单个简单类型值,#{}括号中可以是value或其它名称。使用转载 2017-08-18 11:04:07 · 731 阅读 · 0 评论 -
java使用validator进行校验
html页面表单提交的对象数据或者接口对接,都需要对接收到的数据进行校验(非空、长度、格式等等),jdk或hibernate都提供了对object对象的校验,只需加上相应的注解即可。引入pom<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernat...原创 2020-01-08 15:03:04 · 620 阅读 · 0 评论 -
Hibernate的HQL中in参数设置
http://charyle.iteye.com/blog/1021356平时经常用Hibernate,由于习惯表间不建立关联,所以HQL查询时候经常要用in语句。 我最常用的情况有2种: 1、in后是个子查询,如 FROM A WHERE A.ID IN (SELECT B.AID FROM B WHERE ...),这样是没问题的,如果A.ID 和B.AID是相同的数据类型。转载 2017-05-10 09:14:02 · 1152 阅读 · 0 评论 -
hibernate入门helloworld
User对象public class User { public int id; public String name; public String password; public int getId() { return id; } public void setId(int id) { this.id = id;原创 2017-03-13 09:20:31 · 544 阅读 · 0 评论 -
springboot profile配置
Profile是spring用来针对不同的环境对不同的配置提供支持的,全局profile配置使用application-{profile}.properties通过在application.properties中设置spring.profile.active=prod来指定活动的Profile...原创 2019-03-17 19:57:51 · 359 阅读 · 0 评论 -
springboot日志配置
springboot支持java util logging、log4j、log4j2、logback作为日志框架默认情况下,springboot使用logback作为日志框架配置日志文件logging.file=D:/mylog/log.log配置日志级别格式为logging.level.包名=级别logging.level.org.springframework.web=DEBUG...原创 2019-03-17 19:55:07 · 221 阅读 · 0 评论 -
springboot类型安全的配置(基于properties)
config/author.propertiesauthor.name=jackauthor.age=24AuthorConfig.javaimport lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.co...原创 2019-03-17 11:26:14 · 278 阅读 · 0 评论 -
springboot中使用xml配置
通过spring提供的@ImportResource来加载xml配置@ImportResource({"classpath:some-context.xml","classpath:another-context.xml"})原创 2019-03-17 10:46:30 · 4893 阅读 · 0 评论 -
Spring Boot集成mybatis
1.新建maven project 2.在pom.xml文件中引入相关依赖(1)基本依赖,jdk版本号;(2)mysql驱动,mybatis依赖包,mysql分页PageHelper:<!-- mysql 数据库驱动. --><dependency> <groupId>mysql</groupId> <artif...原创 2018-02-17 15:56:28 · 234 阅读 · 0 评论 -
Spring Boot使用freemarker
在pom.xml中引入freemarker<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId></dependency>...原创 2018-02-17 15:38:52 · 237 阅读 · 0 评论 -
Spring boot使用thymeleaf
参考: http://blog.csdn.net/u012706811/article/details/52185345引入thymeleaf依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta...原创 2018-02-17 15:29:43 · 222 阅读 · 0 评论 -
Spring Boot配置server信息
1.配置端口号 Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入:server.port=80812.配置context-path 在application.properties进行配置:server.context-path=/spring-boot访问地址就是http://ip:p...原创 2018-02-17 13:34:25 · 3516 阅读 · 0 评论 -
Spring Boot全局异常捕捉
新建一个类GlobalDefaultExceptionHandler, 在class注解上@ControllerAdvice, 在方法上注解上@ExceptionHandler(value = Exception.class),具体代码如下:/** * 1.在class上添加注解@ControllerAdvice * 2.在class中添加一个方法 * 3.在方法上添加@Exce...原创 2018-02-17 13:24:47 · 432 阅读 · 0 评论 -
spring boot JPA
JPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在的数据库中,或者存储在磁盘文件中、XML数据文件中等等。持久化是将程序数据在持久状态和...原创 2018-02-17 10:55:21 · 217 阅读 · 0 评论 -
spring boot返回json数据
默认使用jackson返回json数据新建实体类Demo新建requestmapping/*** spring boot默认json解析框架是jackson * @return */@RequestMapping("getDemo")public Demo getDemo(){ Demo demo = new Demo(); demo.setId(1); ...原创 2018-02-17 10:16:38 · 654 阅读 · 0 评论 -
spring boot之hello world
spring boot特性创建独立的spring应用程序嵌入的tomcat,无需部署war文件简化maven配置自动配置spring提供生产就绪型功能,如指标、健康检查、外部配置开箱即用,没有代码生成,也无需xml配置特性理解为spring开发提供更快的入门体验开箱即用,没有代码生成,没有xml配置,可以修改默认值来满足特定的要求提供了大型项目中常见的非功能特性...原创 2018-02-17 09:55:37 · 251 阅读 · 0 评论 -
用shedlock实现分布式定时任务锁
转载自:https://www.cnblogs.com/gutousu/p/10235160.htmlspring的定时任务经常被各个服务用到,比如定时清理日志,定时提醒,比较方便的就是用Scheduled注解了简单的配置一下就能用了@EnableScheduling@SpringBootApplicationpublic class ScheduledLockApplication...转载 2020-01-07 17:07:07 · 479 阅读 · 0 评论 -
Spring获取应用上下文通用类SpringContextHolder
获取应用上下文通用类(以静态变量保存SpringApplicationContext,可在任何代码任何地方任何时候中取出ApplicaitonContext)import java.util.Locale;import org.springframework.beans.BeansException;import org.springframework.context.Applicatio...原创 2020-01-07 15:44:12 · 1131 阅读 · 0 评论 -
Spring注入@Autowired和@Resource
@Autowired默认是按照byType进行注入的,但是当byType方式找到了多个符合的bean,则按byName方式找,如果还有多个,则报出异常@Autowired也可以手动指定按照byName方式注入,使用@Qualifier标签,例如: @Autowired() @Qualifier(“baseDao” )@Resource,默认是按照byName方式注入的private Type n原创 2017-06-14 11:14:28 · 287 阅读 · 0 评论 -
使用spring jdbc查询对象
参考: http://www.cnblogs.com/Iqiaoxun/p/5577886.html在使用jdbc的querForObject queryForList的时候,出现Incorrect column count: expected 1, actual 5 比如 :String sql = "select * from sysuser where id = 3";SysUser s转载 2017-08-23 16:45:27 · 916 阅读 · 0 评论 -
基于spring的PropertiesLoader
/** * Copyright (c) 2005-2011 springside.org.cn * * $Id: PropertiesLoader.java 1690 2012-02-22 13:42:00Z calvinxiu $ */import java.io.IOException;import java.io.InputStream;import java.util.NoS转载 2017-08-24 13:21:23 · 1682 阅读 · 0 评论 -
Spring中Quartz任务调度器不能识别注解的问题
转载:http://www.iteye.com/problems/94705不知有没有什么好的解决方案参考: http://blog.csdn.net/jackylovesjava/article/details/50044271Quartz初始化是自己的JobContext原创 2017-04-11 12:18:22 · 1416 阅读 · 0 评论 -
spring的bean作用域
http://blog.csdn.net/cleble/article/details/52181476转载 2017-03-09 22:44:39 · 404 阅读 · 0 评论 -
spring加载配置文件
装载配置文件<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:d原创 2017-06-26 14:03:07 · 340 阅读 · 0 评论 -
自定义springUtils用来getBean
/** * Spring ApplicationContext 工具类*/@SuppressWarnings("unchecked")@Componentpublic class SpringUtils implements ApplicationContextAware { private static ApplicationContext applicationContext;原创 2017-06-26 11:16:02 · 16671 阅读 · 0 评论 -
spring属性依赖注入
依赖注入方式:手动装配 和 自动装配 手动装配:一般进行配置信息都采用手动 基于xml装配:构造方法、setter方法 基于注解装配: 自动装配:struts和spring 整合可以自动装配 byType:按类型装配 byName:按名称装配 constructor构造装配, auto: 不确定装配。<!-- 构造方法注入原创 2017-03-10 10:00:29 · 654 阅读 · 0 评论 -
spring后处理bean,BeanPostProcessor
spring 提供一种机制,只要实现此接口BeanPostProcessor,并将实现类提供给spring容器,spring容器将自动执行,在初始化方法前执行before(),在初始化方法后执行after() 。 配置<bean class="">public class MyBeanPostProcessor implements BeanPostProcessor { @Override原创 2017-03-10 09:26:25 · 438 阅读 · 0 评论 -
spring的bean生命周期
初始化和销毁 目标方法执行前后执行后,将进行初始化或销毁。<bean id="" class="" init-method="初始化方法名称" destroy-method="销毁的方法名称">public class UserServiceImpl implements UserService { @Override public void addUser() {原创 2017-03-10 09:13:00 · 647 阅读 · 0 评论 -
jdk动态代理
JDK动态代理 对“装饰者”设计模式 简化。使用前提:必须有接口 1.目标类:接口 + 实现类 2.切面类:用于存通知 MyAspect 3.工厂类:编写工厂生成代理 4.测试目标类public interface UserService { public void addUser();}public class UserServiceImpl implements UserSe原创 2017-03-10 12:37:09 · 236 阅读 · 0 评论 -
spring的bean种类
普通bean:之前操作的都是普通bean。<bean id="" class="A"> ,spring直接创建A实例,并返回FactoryBean:是一个特殊的bean,具有工厂生成对象能力,只能生成特定的对象。 bean必须使用 FactoryBean接口,此接口提供方法 getObject() 用于获得特定bean。 <bean id="" class="FB"> 先创建FB实原创 2017-03-09 22:42:31 · 1416 阅读 · 0 评论 -
spring工厂
/** * 实例工厂,所有方法非静态 * */public class MyBeanFactory { /** * 创建实例 * @return */ public UserService createService(){ return new UserServiceImpl(); }}<!-- 将静态工厂创建的实例交予sp原创 2017-03-09 22:33:03 · 384 阅读 · 0 评论 -
spring核心api
BeanFactory :这是一个工厂,用于生成任意bean。采取延迟加载,第一次getBean时才会初始化Bean ApplicationContext:是BeanFactory的子接口,功能更强大。(国际化处理、事件传递、Bean自动装配、各种不同应用层的Context实现)。当配置文件被加载,就进行对象实例化。 ClassPathXmlApplicationContext 用于加载clas原创 2017-03-09 22:07:35 · 885 阅读 · 0 评论 -
spring di
di dependency injection 依赖注入is a,是一个,继承 has a,有一个,成员变量,依赖 依赖,一个对象需要另一个对象 注入,通过setter方法进行另一个对象实例设置class B{ private A a;//B依赖A类}class BookServiceImpl{ //之前开发:接口 = 实现类 (service和dao耦合)原创 2017-03-09 21:35:55 · 409 阅读 · 0 评论 -
spring ioc
之前开发,new 一个对象 spring之后,由spring创建对象实例–>ioc(inverse of control)控制反转public interface UserService { public void addUser();}public class UserServiceImpl implements UserService { public void addUs原创 2017-03-09 21:08:53 · 219 阅读 · 0 评论 -
bean装配基于注解
注解:就是一个类,使用@注解名称 开发中:使用注解 取代 xml配置文件。1. @Component取代<bean class=""> @Component("id") 取代 <bean id="" class="">2.web开发,提供3个@Component注解衍生注解(功能一样)取代<bean class=""> @Repository :dao层 @Service原创 2017-03-10 10:50:18 · 318 阅读 · 0 评论 -
spring jdbcTemplate查询单列结果集
List rows = jdbcTemplate.queryForList("SELECT name FROM user");for(int i=0;i<rows.size();i++){ Map userMap=rows.get(i); System.out.println(userMap.get("name")); }原创 2017-06-02 16:37:07 · 3964 阅读 · 0 评论