@ControllerAdvice,是Spring3.2+提供的新注解,它是一个Controller增强器,可对Controller中被 @RequestMapping注解的方法加一些逻辑处理。...最常用的就是异常处理。 统一异常处理 需要配合@ExceptionHandler使用。当将异常抛到Controller时,可以对异常进行统一处理,规定返回的json格式或是跳转到一个错误页面。...全局异常捕捉处理 1package cn.itechyou.cms.exception; 2 3import org.apache.shiro.authz.UnauthorizedException...CmsException.class) 118 public ModelAndView cmsException(CmsException e) { 119 logger.error("异常... Map map = new HashMap(); 5 map.put("code", "40001"); 6 //判断异常的类型
Spring注解 @Configuration 一.@Configuration的作用 二....@Configuration的Spring容器启动方式 三.不加@Configuration的@Bean的解析 四.加@Configuration的@Bean的解析 五.总结与疑问 一.注解作用...注解形式的Spring容器的启动方式(非Web项目) 方式1....分析不加@Configuration 只是一个启动类就可以解析@Bean注解 3.1 简单绘制下我理解的Spring容器bean的初始化流程:1-2是Spring容器初始化经历的过程,而3-9则是每一个...AppConfig1类的@Bean注解的@Bean也注册到Spring容器中了; 结束postProcessBeanDefinitionRegistry 方法时候打印下已经注册的BeanDefinition
使用场景: 此注解的使用场景非常之多,在实际开发中应用广泛。通常情况下我们自己写的类中注入依赖bean对象时,都可以采用此注解。...当和spring整合之后,spring框架提供了一个JmsTemplate对象,它既可以用于发送点对点模型消息也可以发送主题模型消息。...5.注解的target的区分 注解 target 依赖 @Retention(保留多久,SOURCE,CLASS,RUNTIME) 元 @Target(注解作用目标)TYPE,允许在类,接口,枚举上FIELD...在注解中默认值是“”。 ...Spring高级-IOC的深入剖析 1.Spring中的BeanFacotry 1.1BeanFactory类视图 2.2.2说明 现实中的容器都是用来装物品的,Spring的容器也不例外,这里的物品就是
使用场景: 此注解的使用场景非常之多,在实际开发中应用广泛。通常情况下我们自己写的类中注入依赖bean对象时,都可以采用此注解。...当和spring整合之后,spring框架提供了一个JmsTemplate对象,它既可以用于发送点对点模型消息也可以发送主题模型消息。...5.注解的target的区分 注解 target 依赖 @Retention(保留多久,SOURCE,CLASS,RUNTIME) 元 @Target(注解作用目标) TYPE,允许在类,接口,枚举上...在注解中默认值是“”。...Spring高级-IOC的深入剖析 1.Spring中的BeanFacotry 1.1BeanFactory类视图 2.2.2说明 现实中的容器都是用来装物品的,Spring的容器也不例外,这里的物品就是
1 @ControllerAdvice 拦截异常并统一处理 在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder...参考:@ControllerAdvice 文档 如果全部异常处理返回json,那么可以使用 @RestControllerAdvice 代替 @ControllerAdvice ,这样在方法上就可以不需要添加...CookieStoreDaoImpl implements CookieStoreDao{ } 4 @EnableAsync 异步执行,也就是开启多线程 5 @Qualifier 当一个接口有两个实现时使用@Qualifier注解来区分...6 @Slf4j 声明:如果不想每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class); 可以用注解@Slf4j;
String sing(String lyrics); } #一种实现方式 @Component // 加注解,让spring识别 public class MetalSinger implements...,有趣的事情就会发生,你会发现一个错误的结果或异常: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying...main.service.Singer] is defined: expected single matching bean but found 2: metalSinger,operaSinger 提示很明确了,spring...: "+lyrics; } } 如果代码改成这样,再次运行,结果如下: "I am singing in Bocelli voice: song lyrics", 用@Primary 告诉spring...调用 @RefreshScope 在需要自动更新配置变量的Java类上,使用注解 @RefreshScope 修饰。
1.注解 @Controller控制器定义 和Struts1一样,Spring的Controller是Singleton的。这就意味着会被多个请求线程共享。...在spring 3.0中,通过@controller标注即可将class定义为一个controller类。...为使spring能找到定义为controller的bean,需要在spring-context配置文件中增加如下定义: 3 **********${sessionScope.u.uname} 4 注:名字为”user”的属性再结合使用注解...@ModelAttribute 这个注解可以跟@SessionAttributes配合在一起用。可以将ModelMap中属性的值通过该注解自动赋给指定变量。
当 Spring遇到一个在 setter 方法中使用的 @Autowired 注解,它会在方法中执行 byType 自动装配。...没有加@Component注解 在类上面忘了加@Controller、@Service、@Component、@Repository等注解,spring就无法完成自动装配的功能,例如: public class...注解扫描,收集元数据的。...但是,如果没有加@ComponentScan注解,或者@ComponentScan注解扫描的路径不对,或者路径范围太小,会导致有些注解无法收集,到后面无法使用@Autowired完成自动装配的功能。...@Autowired是spring定义的注解,而@Resource是JSR-250定义的注解。 此外,它们的装配顺序不同。
转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 进行本示例的演示,需要先配置好Maven和Spring哦、 见: 【...Spring】基于IntelliJ IDEA搭建Maven 分析 所谓的元注解: 其实就是可以注解到别的注解上的注解。...而被注解的注解我们就称之为组合注解。(仔细理解,可能有点绕) 组合注解同时具备元注解的功能! Spring的很多注解都可以作为元注解,而且Spring本身已经有很多组合注解。...,这个时候,我们就可以考虑将这几个注解到别的注解上。...比如下面的示例就是将@Configuration和@ComponentScan注解到一个注解上! 这样,我们就可以用一个注解来表示这两个注解。
这样一来不同模式注解带来了不同的含义,清晰将服务进行分层。 除了上面的作用,特定的模式注解,Spring 可能会在未来增加额外的功能语义。...如现在 @Repository 注解,可以增加异常的自动转换功能。 所以,对于分层服务最好使用各自特定语义的模式注解,如 WEB 层就使用 @Controller注解。...模式注解原理 在 Spring 中任何标注 @Component 的组件都可以成为扫描的候选对象。...AnnotationMetadata 从上面文档看出只要在类上存在 @Component注解,即使存在于注解的注解上,Spring 都将能其成为候选组件。...注解上的注解 Spring 将其定义为元注解(meta-annotation),如 @Component标注在 @Service上,@Component 就被称作为元注解。
在展现层使用,控制器的声明(C) 2.注入bean的注解 @Autowired:由Spring提供 @Inject:由JSR-330提供 @Resource:由JSR-250提供 都可以注解在set方法和属性上...3.java配置类相关注解 @Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上) @Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式...xml中的(类上) @WishlyConfiguration 为@Configuration与@ComponentScan的组合注解,可以替代这两个注解 4.切面(AOP)相关注解 Spring支持AspectJ...(类或方法上) @Conditional Spring4中可以使用此注解定义条件话的bean,通过实现Condition接口,并重写matches方法,从而决定该bean是否被实例化。...@EnableTransactionManagement 开启注解式事务的支持 @EnableCaching 开启注解式的缓存支持 11.测试相关注解 @RunWith 运行器,Spring中通常用于对
spring开发中常用到的注解 @PostConstruct 在bean初始化之后调用方法,可以用@PostConstruct标识该方法 @PreDestory 在bean被销毁前调用该方法,可以用@PreDestory...@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的id,而type属性则解析为bean的类型。...如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2....private String applicationName; ``` @ExceptionHandler 定义了这个注解的方法,当前类的异常都会被这个方法捕获 详细见: https://www.cnblogs.com.../shuimuzhushui/p/6791600.html spring-mvc 1、使用@Controller注解,必须添加配置: `<!
相比起之前使用xml来配置Spring框架,使用注解提供了更多的控制Spring框架的方式。...现在,越来越多的项目都在使用注解做相关的配置,但Spring的注解非常多,相信很多人对这些注解并没有一个很全面的了解,很多都没有使用过。本文就尽量全面地介绍Spring中常用的注解,并做简单介绍。...@Lazy 此注解使用在Spring的组件类上。默认的,Spring中Bean的依赖一开始就被创建和配置。...此注解有自动翻译的特性,例如:当此种component抛出了一个异常,那么会有一个handler来处理此异常,无需使用try-catch块。 三....@ResponseStatus 此注解用于方法和exception类上,声明此方法或者异常类返回的http状态码。
return "BookDao [lable=" + lable + "]"; } } MainConifgOfAutowired /** * 自动装配; * Spring...4)、自动装配默认一定要将属性赋值好,没有就会报错; * 可以使用@Autowired(required=false); * 5)、@Primary:让Spring...* BookService{ * @Autowired * BookDao bookDao; * } * * 2)、Spring...还支持使用@Resource(JSR250)和@Inject(JSR330)[java规范的注解] * @Resource: * 可以和@Autowired一样实现自动装配功能...Autowired Car car){ this.car = car; System.out.println("Boss...有参构造器"); } * * 4)、自定义组件想要使用Spring
@Aspect:声明一个切面类 @Before:前置通知 @After:后置通知 @AfterReturning:返回通知 @AfterThrowing:异常通知 @Around:在方法执行之前与之后执行...@PointCut:声明切点 在java配置类中使用@EnableAspectJAutoProxy注解开启Spring对AspectJ代理的支持(类上) 7.环境切换 @Profile:通过设定配置环境...@EnableCaching:开启注解式的缓存支持 11.测试相关注解 @RunWith:运行器,Spring中通常用于对JUnit的支持 @RunWith(SpringJUnit4ClassRunner.class...结合下面的注解可实现: @ExceptionHandler:用于全局处理控制器里的异常 @InitBinder:用来设置WebDataBinder,WebDataBinder用来自动绑定前台请求参数到...>spring-boot-configuration-processor 1.
未添加注解,且未使用xml装配,会导致应用找不到bean。...(参考:http://www.tuicool.com/articles/ruaMBn) @Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name...如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2....如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常 3....如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常 4.
本文链接:https://blog.csdn.net/weixin_44580977/article/details/96871985 在使用注解之前要 在 xml里面配置 <?...--告知spring在创建容器时要扫描的包,配置所需要的标签不是在beans的约束中,而是一个名称为 context名称空间和约束中--> <context:component-scan...* 他们三个是spring框架为我们提供明确的三层使用的注解,使我们的三层对象更加清晰 * Bean:万能注解 * * 用于注入数据的 * 他们的作用就和在xml配置文件中的...* 以上三个注入都只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现。 * 另外,集合类型的注入只能通过XML来实现。...它可以使用spring中SpEL(也就是spring的el表达式) * SpEL的写法:${表达式} * * 用于改变作用范围的 * 他们的作用就和在
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。...(把普通pojo实例化到spring容器中,相当于配置文件中的) @Autowired与@Resource都可以用来装配bean。 都可以写在字段上,或写在setter方法上。...@Autowired默认按类型装配(这个注解是属业spring的) @Resource(这个注解属于J2EE的) @RestController @ResponseBody和@Controller的合集...也是注解在类上面的,声明这是个配置作用的bean,替代xml配置 @EnableCaching 标注启动缓存....提供的新注解,从名字上可以看出大体意思是控制器增强 @ExceptionHandler 异常拦截 @Value 注入Spring boot application.properties配置的属性的值。
spring开发中常用到的注解 @PostConstruct 在bean初始化之后调用方法,可以用@PostConstruct标识该方法 @PreDestory 在bean被销毁前调用该方法...@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的id,而type属性则解析为bean的类型。...如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2....如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常 3....如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常 4.
Spring基础注解 1.1.1....@ComponentScan 组件扫描注解,通过配置包、类、过滤器来扫描指定的类到spring上下文容器中,该注解在jdk8以后可以在同一个类上注解多个,可以通过basePackages、excludeFilters...@Scope 常用于bean作用域于注解,定义Spring容器创建实例的方式。...@Value/@PropertySource/@ImportResource/@ConfigurationProperties 使用这几个注解需要使用@Component 注解(标记是Spring的组件...步骤 1)、将业务逻辑组件和切面类都加入到容器中;告诉Spring哪个是切面类(@Aspect) 2)、在切面类上的每一个通知方法上标注通知注解,告诉Spring何时何地运行(切入点表达式) 3)、
领取专属 10元无门槛券
手把手带您无忧上云