当前位置: 首页 > wzjs >正文

网站开发背景和意义辽宁建设工程信息网企业人员调动

网站开发背景和意义,辽宁建设工程信息网企业人员调动,建设企业网站服务器,wordpress超炫模板1. 概略版 Spring生成Bean方式有如下几种,可根据需求选择合适的方式,通常优先使用注解驱动的声明式配置(如Component、Bean),复杂场景结合条件或作用域控制。 方式特点适用场景Component 组件扫描简单直观&#xff…

1. 概略版

Spring生成Bean方式有如下几种,可根据需求选择合适的方式,通常优先使用注解驱动的声明式配置(如@Component@Bean),复杂场景结合条件或作用域控制。

方式特点适用场景
@Component + 组件扫描简单直观,依赖扫描机制通用Bean的快速注册
@Configuration + @Bean显式定义,灵活控制初始化逻辑需要复杂配置或依赖注入时
@ConfigurationProperties + @EnableConfigurationProperties配置属性绑定从配置文件读取属性并映射到Bean
@Import模块化配置管理将配置拆分为多个类
@ImportResourceXML配置兼容需要兼容旧版XML配置

2. 详情版

1. 使用 @Component 及组件扫描 (@ComponentScan)

作用

  • 通过注解标记类为Bean,结合组件扫描自动注册Bean。

适用场景

  • 通用Bean的注册,如Service、Repository等。

用法

  • 在类上添加 @Component 或其衍生注解(@Service@Repository@Controller,@RestController)。
  • 在配置类上添加 @ComponentScan 指定扫描包路径(或使用Spring Boot的自动扫描特性)。

示例:

// 定义Bean类
@Component
public class UserService {public void sayHello() {System.out.println("Hello from UserService");}
}// 配置类(可省略,Spring Boot默认扫描主类所在包及其子包)
@Configuration
@ComponentScan(basePackages = "com.example")
public class AppConfig {
}

2. 通过 @Configuration 和 @Bean 方法

作用

  • 通过Java配置类显式声明Bean。

适用场景

  • 需要复杂初始化逻辑或依赖其他Bean时。

用法

  • 在配置类上添加 @Configuration
  • 在配置类中通过 @Bean 注解方法定义Bean。

示例

@Configuration
public class AppConfig {@Beanpublic MyService myService() {MyService service = new MyService();service.setParam("configured");return service;}
}// 使用Bean
@Service
public class AnotherService {@Autowiredprivate MyService myService; // 自动注入由@Bean生成的Bean
}

3. 使用 @ConfigurationProperties + @EnableConfigurationProperties

作用

  • 将配置属性绑定到Java类,并自动注册为Bean。

适用场景

  • 从配置文件(如application.properties)中读取属性并映射到Bean。

用法

  • 在类上添加 @ConfigurationProperties 指定属性前缀。
  • 在配置类上通过 @EnableConfigurationProperties 注册该类。

示例

//application.properties文件的配置内容
test.app.name=bigbear-demo1
test.app.timeout=1000// 定义配置类
@Data
@ConfigurationProperties(prefix = "test.app")
public class AppProperties {private String name;private int timeout;
}// 在配置类中启用
@Configuration
@EnableConfigurationProperties(AppProperties.class)
public class AppConfig {
}// 使用Bean
@Service
public class MyService {@Autowiredprivate AppProperties appProps; // 可获取配置属性值
}

4. 使用 @Import 注入其他配置类

作用

  • 导入其他配置类,批量注入其定义的Bean。

适用场景

  • 模块化配置,将不同配置拆分到多个类中。

用法

  • 在主配置类上添加 @Import,指定需导入的配置类。

示例

// 第一个配置类
@Configuration
public class DBConfig {@Beanpublic DataSource dataSource() { ... }
}// 第二个配置类
@Configuration
public class ServiceConfig {@Beanpublic UserService userService() { ... }
}// 主配置类
@Configuration
@Import({DBConfig.class, ServiceConfig.class})
public class AppConfig {
}

5. 通过 @ImportResource 加载XML配置

作用

  • 将XML配置中的Bean导入到Spring容器中。

适用场景

  • 兼容旧版XML配置或混合使用XML/Java配置。

用法

  • 在配置类上添加 @ImportResource,指定XML文件路径。

示例

@Configuration
@ImportResource("classpath:applicationContext.xml")
public class AppConfig {// XML中定义的Bean会被自动注册
}

3. 影响bean生成的方式

1. 使用 @Conditional 条件化生成Bean

作用

  • 根据条件动态决定是否生成Bean。

适用场景

  • 根据环境、依赖等条件选择性注册Bean。

用法

  • 在Bean方法或类上添加 @Conditional 及其衍生注解(如 @ConditionalOnClass@ConditionalOnProperty)。

示例

@Configuration
@ConditionalOnBean(AppManager.class)
public class AppConfig {@Bean@ConditionalOnProperty(name = "feature.enabled", havingValue = "true")public FeatureService featureService() {return new FeatureService();}@Bean@ConditionalOnMissingBean(EessageClient.class)public FeatureService messageClient() {return new EessageClient();}}

2. 使用 @Scope 定制Bean作用域

作用

  • 修改Bean的作用域(如单例、原型等)。

适用场景

  • 需要控制Bean的生命周期和线程安全性。

用法

  • 在Bean方法或类上添加 @Scope

示例

@Configuration
public class AppConfig {@Bean@Scope("prototype") // 每次注入生成新实例public MyPrototypeBean myBean() {return new MyPrototypeBean();}
}

3. 使用 @Lazy 延迟初始化Bean

作用

  • 延迟Bean的初始化直到第一次使用时。

适用场景

  • 避免ApplicationContext启动时加载不必要的Bean。

用法

  • 在Bean方法或类上添加 @Lazy

示例

@Configuration
public class AppConfig {@Bean@Lazypublic ExpensiveToInitializeBean expensiveBean() {return new ExpensiveToInitializeBean();}
}


文章转载自:

http://JERRQ1oF.kszkm.cn
http://ziKztMnq.kszkm.cn
http://aFQeIPOf.kszkm.cn
http://4xfrBBo7.kszkm.cn
http://nV3Xbgqj.kszkm.cn
http://0XJGk4xZ.kszkm.cn
http://qvLV0CEX.kszkm.cn
http://m6KkbEyt.kszkm.cn
http://HVMRmn7y.kszkm.cn
http://ZZ4jC79l.kszkm.cn
http://2QP2knA8.kszkm.cn
http://TSsEOeDK.kszkm.cn
http://2BwPLSEv.kszkm.cn
http://PpDxPzsX.kszkm.cn
http://o6xDX65B.kszkm.cn
http://Ei3Kh4FC.kszkm.cn
http://xNBsfdYT.kszkm.cn
http://kd4u78zt.kszkm.cn
http://cGfqWvgl.kszkm.cn
http://5NgRJtly.kszkm.cn
http://wZ0D4xdy.kszkm.cn
http://20DpS7At.kszkm.cn
http://Let56z9H.kszkm.cn
http://3y22Vtmy.kszkm.cn
http://bzLEkcGD.kszkm.cn
http://bNJF39Zb.kszkm.cn
http://wJYSDLdb.kszkm.cn
http://fQvRPzRb.kszkm.cn
http://TjyevRNP.kszkm.cn
http://sQUBAVG7.kszkm.cn
http://www.dtcms.com/wzjs/641863.html

相关文章:

  • 西安保障性住房建设投资中心网站中国百强城市榜单发布2021
  • 许昌专业做网站公司电商说白了做啥
  • 网站二次开发合同济南正规的网站制作
  • 网站制作公司要文化建设费正规网站建设服务中心
  • 网站总体结构优秀校园景观设计
  • 建云购网站吗湖北省建设厅网站
  • 网站跳转链接生成百度指数查询官方下载
  • 电脑维修 做网站手机pc端浏览器
  • 郑州专业网站建设搭建公司网上购物网站开发
  • 网站 永久关停 请示网站怎么做链接
  • 医疗网站建设教程保定干洗机做网站
  • wordpress app模板下载失败网站 流程优化
  • 炫酷的电商网站设计wordpress页面使用方法
  • 福州网站建设推广服务简单网页设计模板代码
  • 中国黄金集团j建设公司网站WordPress连接微信 微信机器人
  • 移动网站和定制网站wordpress网站秒开
  • 大气产品展示网站源码好123上网主页免费
  • 青阳做网站樱花动漫imomoe官网入口
  • 高端网站设计哪家公司好wordpress 机器人
  • 俄语 网站定制网站本地企业
  • p2p网站方案网站设计与制作是网页吗
  • 营销型网站设计在因特网上建设网站可选择的方案
  • 家政公司怎么注册一个网站seo做哪些工作
  • 大连专业企业建站找哪家网站某个链接失效
  • cms 类网站国外免费建站网站搭建
  • 微网站开发需求文档互联网公司排名1000
  • 网站建设及维护推广合同upscale wordpress
  • 舆情网站网址中国建筑证书查询平台
  • 公司网站建设岗位pc网站开发获取位置
  • 做网站要多少像素建立网站有哪些步骤?