相关疑难解决方法(0)

侵入的确切含义是什么?是什么让Spring非侵入性?

我是Spring框架的新手.在我看到的大多数Spring教程中,Spring被描述为"非侵入性".

侵入性是什么意思?在Java中使用Spring有什么优点,是什么让它成为非侵入性的?

java apache spring pojo

20
推荐指数
3
解决办法
8383
查看次数

我的pom.xml中有javax.inject,会自动弹出吗?

我在网上浏览一个春季mvc教程时复制了一个pom.xml,它有:

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

根据我的理解,spring有自己的内置依赖注入,这会覆盖默认值并使用javax.inject吗?

我也在pom中看过slf4j,没有在代码或xml中进一步设置.

这是如何工作的,spring检查lib的文件夹,如果找到任何可覆盖的lib,它会这样做吗?

java spring dependency-injection maven

6
推荐指数
1
解决办法
1万
查看次数

导入自定义Java类

我是Java新手,我在网上寻找解决方案,但似乎都没有.请帮我.

我有两个文件.其中一个是包含main函数的java文件.在里面:

...
VaporVisitor visitor = new VaporVisitor();
...
Run Code Online (Sandbox Code Playgroud)

使用该命令,我想创建一个新对象VaporVisitor,它是一个名为的单独文件中的类VaporVisitor.java.但是,Java无法识别VaporVisitor是什么,可能是因为它不知道VaporVisitor.java存在(它位于同一目录中).我尝试将它们作为同一个软件包的一部分,在不同的软件包中导入...并且所有这些软件都失败了.谁能给我任何指导?

谢谢!

编辑:这正是我正在做的,以及我得到的错误消息:所以我有3个文件.V2VM(带有我的主要功能),VaporVisitor和提供的jar文件,它有几个自定义类.jar文件没有给我任何问题; 它试图让java识别VaporVisitor.

所以在V2VM(主要功能)中,我尝试过输入:import V2VM.java;哪个不起作用.我已经尝试将V2VM放在一个名为vv的子文件夹中,添加package vv;到VaporVisitor并放入V2VM.java import vv.*但这也不起作用.

为了编译,我试过了 javac -classpath [the jar file].jar V2VM.java

它给我的错误:

V2VM.java:15: cannot find symbol
symbol  : class VaporVisitor
location: class V2VM
VaporVisitor visitor = new VaporVisitor();
^
V2VM.java:15: cannot find symbol
symbol  : class VaporVisitor
location: class V2VM
VaporVisitor visitor = new VaporVisitor();
                           ^
Run Code Online (Sandbox Code Playgroud)

当我运行javacc时,我与V2VM位于同一目录中,这也是其他两个文件所在的位置.我已经尝试将V2VM和VaporVisitor放在同一个包中,但这也不起作用.所以它们现在不属于任何包装......

编辑2:VaporVisitor和V2VM的源代码

V2VM.java:

package vv; //whether I …
Run Code Online (Sandbox Code Playgroud)

java import

5
推荐指数
1
解决办法
2万
查看次数

Spring注释@Inject不起作用

我有代码@Inject在一个类中工作但在其他类中没有.这是我的代码:

  • 的context.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"

       xsi:schemaLocation=" http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans.xsd
                    http://www.springframework.org/schema/context
                    http://www.springframework.org/schema/context/spring-context.xsd
                    ">
    <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
    <context:component-scan base-package="com.myfashions.services"/>
    <context:component-scan base-package="com.myfashions.dao"/>
</beans>
Run Code Online (Sandbox Code Playgroud)
  • SellerRetriever.java
public class SellerRetriever {
    @Inject
    UserDAO userDAO;
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

UserDAO类存在于com.myfashions.dao包中. @Inject在Seller.java中不起作用.有什么理由吗?

java spring

5
推荐指数
2
解决办法
8435
查看次数

从容器请求中提取路径参数

我正在尝试实施ContainerRequestFilter和方法filter

如何从中提取路径参数ContainerRequest request

我只能看到一种直接提取查询和表单参数的方法。

java jersey

5
推荐指数
1
解决办法
4124
查看次数

ApplicationContext.getBean 与 new 关键字

我正在使用 JSF + Spring+ Hibernate

protected @Inject ChartOfAccount chartOfAccount;
Run Code Online (Sandbox Code Playgroud)

chartOfAccount我基本上想从列表中填充

for (DistributionEntry de : getDistributionEntries()) {

     chartOfAccount.setAccount(de.getAccount());
     chartOfAccountList.add(chartOfAccount);
}
Run Code Online (Sandbox Code Playgroud)

对于每次迭代,我想要新的对象,chartOfAccount否则你知道列表包含具有最新值的相同对象。

解决方案一:使用 new 关键字 :-p

for (DistributionEntry de : getDistributionEntries()) {
     ChartOfAccount coa= new ChartOfAccount();
     coa.setAccount(de.getAccount());
     chartOfAccountList.add(coa);
}
Run Code Online (Sandbox Code Playgroud)

解决方案二:applicationContext.getBean

for (DistributionEntry de : getDistributionEntries()) {
     chartOfAccount= applicationContext.getBean(ChartOfAccount.class);
     chartOfAccount.setAccount(de.getAccount());
     chartOfAccountList.add(chartOfAccount);
}
Run Code Online (Sandbox Code Playgroud)

但我读过某些文章,以避免使用applicationContext.getBean

如果我避免使用applicationContext.getBean处理这种情况的最佳方法是什么?两种行为都会相同吗?(ApplicationContext.getBean 与 new 关键字)

注意:我的托管bean是@Scope(“session”),模型是@Scope(BeanDefinition.SCOPE_PROTOTYPE),所以我们都知道,对于一个会话,它是单例,而不同会话的原型。

java jsf spring scope applicationcontext

5
推荐指数
1
解决办法
3956
查看次数