gpt4 book ai didi

java - 如何将此代码从 Spring 转换为 Spring Boot?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:06:22 25 4
gpt4 key购买 nike

我已经将一个 MVC MitreID Spring 网络应用程序剪切并粘贴到一个基本的引导网络应用程序中。当我尝试运行它时,我得到:

A component required a bean named 'namedAdmins' that could not be found

代码是:

import org.mitre.openid.connect.client.OIDCAuthenticationFilter;
import org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority;
@RestController
public class HomeController {

private static final Logger logger = LoggerFactory.getLogger(HomeController.class);

@Autowired
private OIDCAuthenticationFilter filter;

@Resource(name = "namedAdmins")
private Set<SubjectIssuerGrantedAuthority> admins;

@RequestMapping(value = "/", method = RequestMethod.GET)

这只是我将@controller 更改为@restcontroller 的Spring 代码。

这是在 servlet-context.xml 中:

<bean id="openIdConnectAuthenticationProvider" class="org.mitre.openid.connect.client.OIDCAuthenticationProvider">
<property name="authoritiesMapper">
<bean class="org.mitre.openid.connect.client.NamedAdminAuthoritiesMapper">
<property name="admins" ref="namedAdmins" />
</bean>
</property>
</bean>

<util:set id="namedAdmins" value-type="org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority">

<bean class="org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority">
<constructor-arg name="subject" value="90342.ASDFJWFA" />
<constructor-arg name="issuer" value="http://192.168.1.114:8080/openid-connect-server-webapp/" />
</bean>
</util:set>

任何人都可以让我开始了解我还需要更改的内容/在哪里可以让 bean 得到识别吗?这是在我的 pom 中:

<dependency>
<groupId>org.mitre</groupId>
<artifactId>openid-connect-client</artifactId>
<version>1.3.1</version>
</dependency>

最佳答案

很可能您的 servlet-context.xml 未包含在 Spring Boot 应用程序中。使用 @ImportResource 注释导入它

@SpringBootApplication
@ImportResource("servlet-context.xml")
public class MyApp {
// ...
}

或将此 XML 转换为新的 Java 配置类,这是首选方法:

@Configuration
public class MitreConfig {

@Bean
public Set<SubjectIssuerGrantedAuthority> namedAdmins() {
// ...
}

}

关于java - 如何将此代码从 Spring 转换为 Spring Boot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54345375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com