在開發Java程序,尤其是Java EE應用程式的時候,總是免不了與各種設定檔打交道。 java註解則幫我們使之更整潔,不會設定檔滿天飛了。 以下這篇文章主要介紹了詳細介紹Spring中的JavaConfig註解,需要的朋友可以參考借鑒,下面來一起看看吧。
前言
大家都知道傳統spring一般都是基於xml配置的,不過後來新增了許多JavaConfig的註解。特別是springboot,基本上都是清一色的java config,不了解一下,還真是不適應。這裡備註一下。
@RestController
spring4為了更方便的支援restfull應用程式的開發,新增了RestController的註解,比Controller註解多的功能就是給底下的RequestMapping方法預設都加上ResponseBody註解,省得自己再去每個去加入該註解。
@Configuration
這個標註該類是spring的配置類,本身自帶Component註解
##@ImportResource
<import resource="applicationContext-ehcache.xml"/>
#存在的必要性
這個是相容於傳統xml配置的,畢竟JavaConfig還不是萬能的,例如JavaConfig不能很好地支援aop:advisor和tx:advice , Introduce @EnableAspectJAutoProxy (equivalent to aop:aspectj-autoproxy) ,Introd @Configuration-d equivalent:aspectj-autoproxy) ,Introd @Configuration-d equivalent:aspect :config XML element@ComponentScan
<context:component-scan base-package="com.xixicat.app"/>
<context:annotation-config/>
@Bean
<bean id="objectMapper" class="org.codehaus.jackson.map.ObjectMapper" />
@EnableWebMvc
<mvc:annotation-driven />
@ContextConfiguration
#
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({ "classpath*:spring/*.xml", "classpath:applicationContext.xml", "classpath:applicationContext-rabbitmq.xml", "classpath:applicationContext-mail.xml", "classpath:applicationContext-medis.xml", "classpath:applicationContext-mybatis.xml"}) @TransactionConfiguration(transactionManager = "mybatisTransactionManager", defaultRollback = false) public class AppBaseTest { //...... }
@ResponseStatus
@ExceptionHandler
@ExceptionHandler(BizException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public @ResponseBody ReturnMessage bizExceptionHandler(Exception ex) { logger.error(ex.getMessage(),ex); return new ReturnMessage(HttpStatus.BAD_REQUEST.value(),ex.getMessage()); }
@ControllerAdvice
@ControllerAdvice public class ErrorController { private static final Logger logger = LoggerFactory.getLogger(ErrorController.class); @ExceptionHandler(BizException.class) @ResponseStatus(HttpStatus.BAD_REQUEST) public @ResponseBody ReturnMessage bizExceptionHandler(Exception ex) { logger.error(ex.getMessage(),ex); return new ReturnMessage(HttpStatus.BAD_REQUEST.value(),ex.getMessage()); } @ExceptionHandler(Exception.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public @ResponseBody ReturnMessage serverExceptionHandler(Exception ex) { logger.error(ex.getMessage(),ex); return new ReturnMessage(HttpStatus.INTERNAL_SERVER_ERROR.value(),ex.getMessage()); } }
#總結#
以上是詳細介紹Spring中的JavaConfig註解的詳細內容。更多資訊請關注PHP中文網其他相關文章!