@configuation
时间: 2023-07-23 22:02:32 浏览: 39
`@Configuration` 是一个常用的注解,用于标记一个类为配置类。配置类通常用于定义Bean的创建和配置。
其他常用的注解包括:
1. `@Component`:用于标记一个类为组件,被Spring容器扫描并创建为Bean。
2. `@Autowired`:用于自动装配Bean,将其他Bean注入到属性中。
3. `@Value`:用于将配置文件中的值赋给属性。
4. `@RestController`:用于标记一个类为RESTful风格的控制器。
5. `@RequestMapping`:用于映射请求路径到控制器方法。
6. `@Service`:用于标记一个类为服务层组件。
7. `@Repository`:用于标记一个类为数据访问层组件。
8. `@EnableAutoConfiguration`:用于启用自动配置。
9. `@Conditional`:用于根据条件来决定是否创建某个Bean。
10. `@Transactional`:用于声明事务。
这些注解在Spring Boot中广泛应用于各个方面,帮助开发者简化配置和快速开发。
相关问题
@configuation的用处
`@Configuration` 是一个常用的注解,用于标记一个类为配置类。配置类通常用于定义Bean的创建和配置。
在Spring中,`@Configuration` 注解被用来代替传统的 XML 配置文件,通过 Java 类来定义 Bean 的创建和配置。在配置类中,可以使用其他注解如 `@Bean`、`@ComponentScan`、`@Import` 等来定义和组织 Bean。
`@Configuration` 注解的主要作用有:
1. 声明一个类为配置类,告诉Spring容器这个类将用于定义Bean。
2. 允许在配置类中使用 `@Bean` 注解创建和配置Bean。
3. 可以使用其他注解如 `@ComponentScan`、`@Import` 等来组织和引入其他配置。
通过使用 `@Configuration` 注解,我们可以将应用程序的配置集中到一个或多个配置类中,并且可以在这些配置类中使用各种注解来定义和配置Bean,从而简化了应用程序的配置和管理。
springboot跨域
在Spring Boot中,可以通过配置Spring的CORS(跨域资源共享)支持来实现跨域请求。以下是实现跨域请求的步骤:
1. 添加CORS配置类
创建一个CORS配置类,添加@Configuation注解和@EnableWebMvc注解。在配置类中,使用addMapping方法配置允许跨域的请求路径和允许跨域的源。还可以配置其他CORS参数,如允许的请求方法、允许的请求头等。
@Configuration
@EnableWebMvc
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedHeaders("*")
.allowCredentials(true)
.maxAge(3600);
}
}
2. 添加过滤器
创建一个CORS过滤器,实现javax.servlet.Filter接口。在过滤器中,使用HttpServletResponse的setHeader方法设置Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers、Access-Control-Allow-Credentials等响应头。
@Component
public class CorsFilter implements Filter {
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, X-Requested-With, X-Custom-Header, X-Another-Header");
response.setHeader("Access-Control-Allow-Credentials", "true");
chain.doFilter(request, response);
}
}
3. 注册过滤器
在Spring Boot的配置类中,使用@Bean注解将CORS过滤器注册到容器中。
@Configuration
public class AppConfig {
@Bean
public FilterRegistrationBean corsFilterRegistration() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean(new CorsFilter());
registrationBean.setName("CORS Filter");
registrationBean.addUrlPatterns("/*");
registrationBean.setOrder(1);
return registrationBean;
}
}
以上是Spring Boot实现跨域请求的步骤。通过配置CORS支持和注册CORS过滤器,可以轻松地实现跨域请求。