给我来灵感的博客:感谢:http://blog.51cto.com/xingej/2053297?utm_source=oschina-app 因为使用了注解的类在使用时是通过new出来的,导致注解注入失效.…
最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id="loginAction" class="com.dj.ssh.action.LoginAction" scope="prototype" autowire="byName"> <property name="…
在使用@Webfilter注解Filter的情况下,不上外部tomcat时是没有问题的.但是在tomcat下运行时,filter中注入的bean就都是null 解决办法: 一:去掉@Webfilter注解 public class GeneralFilter implements Filter { @Autowired private SettingRemote settingRemote; //注入 .... } 二: 新增一个配置类,用来手工创建filter的bean @Configurat…
问题① @Mapper注解报红无法注入 方法 在pom文件中添加依赖…
从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件 现在项目中的配置 public interface DemoMapper{ int deleteByPrimaryKey(Integer id);} @MapperScan("com.mapper")public class DlxRrsApplication {} 原因: 我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Mapper之类的注解,那么为什么可以…
前言: 从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件(那个xml写的是真的蛋疼...).很恶心的一个事实是源码中并没有对于这个注解的详细解释 现在我们通过一个简易的maven项目去了解@Mapper注解的使用方式 完整项目请访问我的github项目地址下载 构建一个maven的web项目,目录结构如下:  导入相应的依赖 <dependency> <groupId>org.mybatis</groupId> <ar…
最近搞了一下websocket前台(这个网上有很多的教程这里就不班门弄斧啦) 以及前后台的交互 和后台的bug(搞了两天) 也是状态频发 bug不断 下面说一说问题. Websocket主类里面无法注入Service 从而导致Service里Mapper也注入为null  具体原因的还是因为websocket主类里的一个 @Component 的注解 他的作用呢就是实例化 但是他是项目启动时就实例化的 这样 后续的注入就会注入不进去 后来自作聪明在主类里new的一个service 进去是进去了…
出现的问题 我全局配置的时间格式是:yyyy-MM-dd HH:mm:ss @JSONField注解配置的时间格式是:yyyy-MM-dd 最终的返回结果是:yyyy-MM-dd HH:mm:ss 问题:为啥不是以注解定义的时间格式为主呢? 先说答案,后面再分析: FastJson的全局配置日期格式会导致@JSONField注解失效 使用建议: 1.若全局配置了日期格式,就不要使用@JSONField注解 2.若想使用@JSONField注解,就不要全局配置日期格式 一.FastJson全局配置…
有时候在使用的过程中@Async注解会失效(原因和@Transactional注解有时候会失效的原因一样). 下面定义一个Service: 两个异步执行的方法test03()和test02()用来模拟项目中可能出现的耗时的操作,然后test()方法调用这两个耗时的方法: 定义Controller: 执行方法,返回结果: 方法执行结果明显与我们的预期不符,方法的输出顺序表示了test02()和test03()两个异步方法居然同步执行了,也就是说@Aysnc注解失效了! 失效的原因是因为我们是在te…
MAPPER接口要使用@Mapper注解,不能用@Compent @Repository,否则没有效果 一.开启事物 在启动类上加 @EnableTransactionManagement //如果mybatis中service实现类中加入事务注解,需要此处添加该注解 在service类上加 @Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,timeout=36000,rollbackF…
一.问题如下: 使用的是SpringBoot框架:通过AOP和自定义注解完成druid连接池的动态数据源切换(三)中的两个数据库spring_boot_demo和other_data. 在UserController中同时调用两个方法getAgeOfUser()和getAgeOfUser2(),这里方法里都是使用UserService中的同一方法接收数据. 不同的是在getAgeOfUser2()上使用了DataSource(DataSourceName.SECOND)自定义注解来切换数据源,当…
前言 用Spring Boot的AOP来简化处理自定义注解,并将通过实现一个简单的方法执行判断节点是否开始的状态示列源码. AOP概念 面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计.观点导向编程.剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型.该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是一种新的模块化机制,用来描述分散在对象.类或函数中的横切关注点(crosscutting concern…
一般都是因为除了在拦截器之外,还需要在拦截器的配置类中,注册拦截器时没有使用spring的bean,而是使用了new创建bean造成的. @Configuration public class WebMvcConfigurer extends WebMvcConfigurationSupport { @Resource private AdminLoginInterceptor adminLoginInterceptor; @Resource private FrontLoginIntercep…
在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度.同样在spring boot中,大量注解的使用,使得代码看起来更加简洁,提高开发的效率.这些注解不光包括spring boot自有,也有一些是继承自spring的.         本文中将spring boot项目中常用的一些核心注解归类总结,并结合实际使用的角度来解释其作用. • 项目配置注解 1.@SpringBootApplication 注解…
Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效) 前言 今天在使用Spring cache的Cacheable注解的过程中遇见了一个Cacheable注解失效的问题,检查问题发生的原因是因为Spring的Cacheable注解是基于Spring AOP实现的,但是类内部方法互相调用时不会被Spring AOP拦截的,所以导致被调用方法的Cacheable注解失效,特此记录. 问题复现 @Service public class UserServiceImpl{…
概述 在前面一篇文章中,介绍,在一个Bean中注入自己,如果有@Async和@Transaction,如果使用@Autowire注入自身,会报循环依赖,如果使用BeanFactoryAware注入自己,会使得@Transaction失效. 例如: @Service public class MyService implements BeanFactoryAware{ private MyService self; //事务注解无效 @Transactional public void notWo…
SpringBoot 1.springboot概念 Spring Boot是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适). 2.SpringBoot目录结构 1.com.*.* Application.java 建议放到跟目录下面,主要用于做一些框架配置 2.com.*.*.domain…
为什么要写这篇文章? 最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多,我看了文章内容之后属实觉得质量有点低,并且有点会误导没有太多实际使用经验的人(这些人又占据了大多数).所以,自己索性花了大概 两天时间简单总结一下了. 因为我个人的能力和精力有限,如果有任何不对或者需要完善的地方,请帮忙指出!Guide 哥感激不尽! 1. @SpringBootApplication 这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用…
项目使用的是SSM体系,spring的配置如下,配置没问题,因为我发现其他文件中的@Value可以使用,只有一处@Value失效了. spring-servlet.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or…
SpringBoot整合Mybatis注解版---update时出现的问题 问题描述: 1.sql建表语句 DROP TABLE IF EXISTS `department`; CREATE TABLE `department` ( `id` ) NOT NULL AUTO_INCREMENT, `departmentName` ) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 2.Repositor…
  今天在做项目时突然发现我该如何向listener中注入service对象,因为监听器无法使用注解注入. 此时有人会想用以下代码通过xml的方式注入: ApplicationContext context=new ClassPathXmlApplication(*.xml); productService =(ProductService)context.getBean("productService"); 这样的话会导致一个问题,那就是Tomcat会两次加载spring的配置文件.…
代码示例可以参考个人GitHub项目kingboy-springboot-data 一.环境配置 1.引入mybatis依赖 compile( //SpringMVC 'org.springframework.boot:spring-boot-starter-web', "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.3", //Mybatis依赖及分页插件 "org.mybatis.spring.boo…
问题描述: 由于工作需要,需要在spring中配置两个数据源,有一天突然发现@Transactional注解失效 环境框架: springmvc+spring+spring jdbcTemplate 数据库: Oracle数据库 解决方法: 百度获得三种可能原因及相应解决方案: 第一种 springmvc包扫描覆盖spring包扫描 <!– 自动扫描的包名 –> <context:component-scan base-package=“com.yxyj” > </conte…
一.问题今天发现用户注册的Service的事务并没有起到作用,再抛出一个RuntimeException后,并没有发生回滚,下面是调试步骤: 1.检查数据库的引擎是否是innoDB 2.启动类上是否加入@EnableTransactionManagement注解 3.是否在方法上加入@Transactional注解或Service的类上是否有@Transactional注解 4.方法是否为public 5.是否是因为抛出了Exception等checked异常 然而事务失效都不是这些原因引起的,…
Shiro与Springboot整合下登陆验证UserService未注入的问题 前言: 刚开始整合的情况下,UserService一执行,就会报空指针异常. 看了网上各位大神的讲解,什么不能用service层,直接用dao层获取...... 然后跟着一路再坑....... 最后的最后,才发现MyRealm类未被加载成bean. 解决办法: package com.xm.zeronews.config; import java.util.LinkedHashMap; import java.ut…
springboot中@value注解,读取yml属性失败 问题场景: 配置ShrioConfig时,想注入.yml的参数进行配置 解决办法: 如果注释掉shiroEhcacheManager 以下所有bean的创建,项目能启动,当我@Bean(name = "lifecycleBeanPostProcessor")创建这个bean的时候就抛出了上面的异常.这么分析过来问题应该出在这个bean上. 百度了一下,LifecycleBeanPostProcessor用于在实现了Initia…
一.@Transactional介绍 1.@Transactional注解可以作用于哪些地方? @Transactional 可以作用在接口.类.类方法上. 作用于类:表示所有该类的public方法都配置相同的事务属性信息. 作用于方法:当类配置了@Transactional,方法也配置了@Transactional,方法的事务会覆盖类的事务配置信息. 作用于接口:不推荐这种使用方法,因为一旦标注在Interface上并且配置了Spring AOP 使用CGLib动态代理,将会导致@Transa…
上一篇文章我们简单讲了一下@SpringBootApplication这个注解,申明让spring boot自动给程序进行必要的配置,他是一个组合注解,包含了@ComponentScan.@Configuration和@EnableAutoConfiguration注解,这里我们再讲一下springboot的其他注解. @RestController注解 是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直接填入HTTP响应体中,是REST…
大家好,我是"良工说技术". 今天给大家带来的是springboot中的@ConditionalOnClass注解的用法.上次的@ConditionalOnBean注解还记得吗? 一.@ConditionalOnClass注解初始 看下@CodidtionalOnClass注解的定义, 需要注意的有两点, 该注解可以用在类及方法上:类指的是标有@Configuration的类,方法是标有@Bean的方法: 该注解使用了@Conditional注解标记:这是重点 看到这里,有小伙伴会疑惑…
       本教程使用AngularJS版本:1.5.3        AngularJs GitHub: https://github.com/angular/angular.js/        AngularJs下载地址:https://angularjs.org/ 用有过spring的人都知道,Spring的核心思想就是DI(依赖注入,Dependency Injection)和IOC(控制反转 Invension of Controller),AngularJS的service其实就…