@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型.所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略.如果既不指定name也不指定type属性,这时将通过反射…
要使用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&q…
在web开发过程中开始接触的是servlet,用来处理用户请求.这几年随着spring 框架越来越成熟,几乎成了java web开发界的主流框架.既然这么受欢迎肯定有它的优点,spring框架在原来的基础上改进了,前端控制器的(DispatcherServlet)跟之前的Servlet作用相似,都是用来接收用户请求.前几天还有小一届的学弟问我这两个东西的区别,觉得还是有必要写篇文章记录下,方便以后的学习. Servlet介绍 1.Servlet不是框架,它是java库里面的一个类,Servlet…
0--前言 @Mapper和@Repository是常用的两个注解,两者都是用在dao上,两者功能差不多,容易混淆,有必要清楚其细微区别: 1--区别 @Repository需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注入到Service层中:如下,在启动类中配置扫描地址: @SpringBootApplication //添加启动类注解 @MapperScan("com.anson.dao") //配置mapper扫描地址 public class applic…
一.只读取单个 properties 文件 1.在 spring 的配置文件中,加入 引入命名空间: xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/util        http://www.springframework.org/schema/util/spring-util-3.0.xsd&…
@Component("userManager") public class UserManagerImpl implements UserManager { private UserDao userDao; public UserDao getUserDao() { return userDao; } @Resource public void setUserDao(UserDao userDao) { this.userDao = userDao; } /* * (non-Java…
这两天在看aop aspectj的各种语法,发现里面有两个概念 args和arg-names很容易混淆,网上也基本没说清楚,所以就动手试了一下,发现还是自己试试比较好理解 先说结论: args是和execution用在一起,用来过滤要被代理的方法的,如果不和arg-names一起用,那么用法是args(类名,类名...). 如果和arg-names(参数名1,参数名2...)一起用,那么用法是args(参数1,参数2...),其中,参数1和参数2的类型由arg-names所代表的方法的参数确定…
classpath和classpath*区别:  classpath:只会到你的class路径中查找找文件. classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 注意: 用classpath*:需要遍历所有的classpath,所以加载速度是很慢的:因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*. classpath*的使用: 当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况…
之前看到spring AOP配置aspect(切面)有两种方式,一种是利用注解的方式配置,一种是利用XML的方式配置. 我们的配置是这样的<aop:aspect>,还有另外一种<aop:advisor>也可以配置AOP.但跟aspect有所不同. 在面向切面编程时,我们一般会用<aop:aspect>,<aop:aspect>定义切面(包括通知(前置通知,后置通知,返回通知等等)和切点(pointcut)) 在进行事务管理时,我们一般会用<aop:ad…
最近在研究spring security时,大概研究了一下Authority.Role之间到底有什么本质的区别. 如果你使用的是hasRole方法来判断你的登录用户是否有权限访问某个接口,那么你初始化User时,放入的GrantedAuthority的字符就需要包含ROLE_前缀,参见下图红箭头: 接口访问权限配置应该是这样: 或者是这样: 如果你使用的是hasAuthority,那么你初始化User时,放入的GrantedAuthority的字符就不需要包含ROLE_前缀了,参见下图红箭头:…