您当前的位置:首页 > 互联网教程

java web WEB-INF目录,里面没有classes文件夹

发布时间:2025-05-24 01:24:31    发布人:远客网络

java web WEB-INF目录,里面没有classes文件夹

一、java web WEB-INF目录,里面没有classes文件夹

1、编译后的class文件默认不是放在WEB-INF的classes下的,而是在这个目录下

2、但是,你在eclipse中点击build文件夹的时候是没有东西,它的classes文件夹是隐藏的,你想看你编译好的class文件的话就要找到你项目是放在哪个盘的哪个目录下,然后找到build这个文件夹,打开后自然会看到classes文件夹,里面就放着你编译好的class文件,有什么不明后的再追问吧

二、java advice

java advice是什么,让我们一起了解一下?

Advice是在Join Point上执行的一个动作或者通知,一般通过拦截器调用。Spring有两大核心,IOC和AOP,在模块AOP里面有个advice。

在Spring-AOP中,增强(Advice)是如何实现的?

按照增强在目标类方法连接点的位置可以将增强划分为以下五类:

前置增强(org.springframework.aop.BeforeAdvice)表示在目标方法执行前来实施增强。

后置增强(org.springframework.aop.AfterReturningAdvice)表示在目标方法执行后来实施增强。

环绕增强(org.aopalliance.intercept.MethodInterceptor)表示在目标方法执行前后同时实施增强。

异常抛出增强(org.springframework.aop.ThrowsAdvice)表示在目标方法抛出异常后来实施增强。

引介增强(org.springframework.aop.introductioninterceptor)表示在目标类中添加一些新的方法和属性。

实战操作:Spring中Advice简单案例

@Configuration//配之类@EnableAspectJAutoProxy//启用AspectJ自动代理@ComponentScan(basePackages = {"spring01","spring02"}) //basePackages指定扫描的包 public class Config {}

@Aspect@Component public class Audience {    /**     * 相当于访问相同报下的不同的类,他们拥有相同的包路径,可以定义一个变量     */    @Pointcut("execution(* spring02.aspect.Performance.perform(..))")    public void performance(){    }     @Before("performance()")    public void silenceCellPhones(){        System.out.println("====表演前将手机调静音");    }     @Before("performance()")    public void takeSeats(){        System.out.println("====表演前就做");    }     @AfterReturning("performance()")    public void applause(){        System.out.println("====表演后鼓掌");    }     @AfterThrowing("performance()")    public void demandRefund(){        System.out.println("====表演失败时退款");    }    @Around("performance()")    public void  watchPerformance(ProceedingJoinPoint point){        try {            System.out.println("====观看前1");            point.proceed();            System.out.println("====观看后2");        } catch (Throwable throwable) {            throwable.printStackTrace();        }    }}

public interface Performance { void perform();}

@Component("performance") public class PerformanceImpl implements Performance{    @Override    public void perform() {        System.out.println("======表演开始=====");    }}

5、测试类@RunWith(SpringJUnit4ClassRunner.class)//启动测试时创建Spring上下文@ContextConfiguration(classes = {Config.class})//配置文件对象 public class TestClass {    @Autowired    private Performance performance;    @Test    public void test(){        performance.perform();    }}

三、start class和classes start区别

1、start class和classes start是同一个意思,都是指启动一个类。

2、原因在编程中,我们需要定义一个类,然后才能使用它。当我们需要使用这个类时,就需要启动它,也就是使用start class或classes start命令。这个命令会告诉计算机,我们要使用这个类,并且计算机会为这个类分配内存空间,以便我们可以使用它的属性和方法。延伸在Java编程中,我们通常使用关键字“public static void main(String[] args)”来启动一个类。这个方法是Java程序的入口点,也就是程序开始执行的地方。在这个方法中,我们可以创建类的实例,调用类的方法,以及执行其他的操作。