Questions tagged «cglib»


1
在Spring Java配置中调用@Bean带注释的方法
我很好奇弹簧注入如何处理带有@Bean注释的调用方法。如果我@Bean在方法上添加注释并返回实例,则我理解这告诉spring通过调用方法并获取返回的实例来创建bean。但是,有时必须使用该bean来连接其他bean或设置其他代码。完成此操作的通常方法是调用带@Bean注释的方法以获取实例。我的问题是,为什么这不会导致有多个bean实例漂浮? 例如,请参见下面的代码(来自另一个问题)。该entryPoint()方法带有注释@Bean,因此我可以想象spring将创建一个BasicAuthenticationEntryPointas的新实例。然后,我们entryPoint()在configure块中再次调用,但是似乎entryPoint()返回了bean实例,并且没有多次调用(我尝试记录,但只有一个日志条目)。可能我们可以entryPoint()在配置的其他部分中多次调用,并且我们总是会得到相同的实例。我对此的理解正确吗?spring是否会对注解的方法进行一些神奇的重写@Bean? @Bean public BasicAuthenticationEntryPoint entryPoint() { BasicAuthenticationEntryPoint basicAuthEntryPoint = new BasicAuthenticationEntryPoint(); basicAuthEntryPoint.setRealmName("My Realm"); return basicAuthEntryPoint; } @Override protected void configure(HttpSecurity http) throws Exception { http .exceptionHandling() .authenticationEntryPoint(entryPoint()) .and() .authorizeUrls() .anyRequest().authenticated() .and() .httpBasic(); }
98 java  spring  cglib 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.