Assert Null and Aspect

When apply the handy Assert.notNull, we should be aware that it might throw IllegalArgumentException.
@Aspect
@Component
public class ExceptionAspect {
	private final Logger log = LoggerFactory.getLogger(getClass());

	@AfterThrowing(throwing = "ex", pointcut = "within(com.xxx.broker..*)")
	public void catchIllegalArgumentException(Throwable ex) {
		log.error("IllegalArgumentException occurs! ", ex);
	}
}
Test:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath*:applicationContext.xml")
@ActiveProfiles("test")
public class ExceptionAspectTest {
	@Autowired
	private IBrokerService brokerService;
	
	@Test
	public void testInputNull(){
		brokerService.getAllHoldings(null);
	}
}
Service
@Override
	public Response getAllHoldings(Request request) {
		Assert.notNull(request);
		Response response = new Response();

		...
		return response;
	}
Application context:
<aop:aspectj-autoproxy />

POM.xml

<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${aspectj.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>${aspectj.version}</version>
		</dependency>










你可能感兴趣的:(Assert Null and Aspect)