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

Spring XML配置方式和Spring Boot注解方式的详细对照关系

功能/配置项Spring XML配置方式Spring Boot注解方式
定义Beanxml
<bean id="myBean" class="com.example.MyBean"/>
java
@Bean
public MyBean myBean() {
 return new MyBean();
}
注入Beanxml
<bean id="myBean" class="com.example.MyBean">
 <property name="dependency"
ref="dependencyBean"/>
</bean>
java
@Autowired
private DependencyBean dependency;
配置数据源xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
 <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
 <property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
 <property name="username" value="root"/>
 <property name="password" value="password"/>
</bean>
java
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
 @Bean
 @ConfigurationProperties(prefix = "spring.datasource")
 public DataSource dataSource() {
 return DataSourceBuilder.create().build();
 }
}
配置事务管理xml
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 <property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
java
@EnableTransactionManagement
@Configuration
public class AppConfig {
 @Bean
 public PlatformTransactionManager transactionManager(DataSource dataSource) {
 return new DataSourceTransactionManager(dataSource);
 }
}
配置JPAxml
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
 <property name="dataSource" ref="dataSource"/>
 <property name="packagesToScan" value="com.example.entity"/>
 <property name="jpaVendorAdapter">
 <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
 </property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
 <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
java
@SpringBootApplication
@EnableJpaRepositories(basePackages = "com.example.repository")
public class Application {
 public static void main(String[] args) {
 SpringApplication.run(Application.class, args);
 }
}
配置MVCxml
<mvc:annotation-driven/>
<context:component-scan base-package="com.example.controller"/>
java
@SpringBootApplication
@ComponentScan(basePackages = "com.example.controller")
public class Application {
 public static void main(String[] args) {
 SpringApplication.run(Application.class, args);
 }
}
配置属性文件xml
<context:property-placeholder location="classpath:application.properties"/>
java
@SpringBootApplication
@PropertySource("classpath:application.properties")
public class Application {
 public static void main(String[] args) {
 SpringApplication.run(Application.class, args);
 }
}
配置AOPxml
<aop:aspectj-autoproxy/>
<bean id="myAspect" class="com.example.MyAspect"/>
java
@EnableAspectJAutoProxy
@Configuration
public class AppConfig {
 @Bean
 public MyAspect myAspect() {
 return new MyAspect();
 }
}

http://www.kler.cn/news/362176.html

相关文章:

  • Llama Tutor:开源 AI 个性化学习平台,根据主题自动制定学习计划
  • Transformer 与 CNN的对比
  • PCC Net模型实现行人数量统计
  • 深入解析 Jenkins 自动化任务链:三大方法实现任务间依赖与状态控制
  • Node.js初学者指南:搭建HTTP服务器、获取请求信息及响应、变量声明与NPM包管理
  • 基于vue框架的的二手数码产品回收管理系统bodx1(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • Docker-Consul概述以及集群环境搭建
  • GMT绘图笔记:高亮特定的研究区域
  • 【消息队列】RabbitMQ实现消费者组机制
  • 计算机毕业设计 基于Python的校园个人闲置物品换购平台的设计与实现 Python毕业设计 Python毕业设计选题【附源码+安装调试】
  • Java中的Vector,看着陌生?
  • API接口测试与优化:确保应用稳定性的必要步骤
  • Python 深度Q网络(DQN)算法详解与应用案例
  • 计算机网络考研笔记
  • 力扣题51~70
  • 动手学深度学习9.7. 序列到序列学习(seq2seq)-笔记练习(PyTorch)
  • 如何在verilog设计的磁盘阵列控制器中实现不同RAID级别(如RAID 0、RAID 1等)的切换?
  • 集成必看!Air780E开发板集成EC11旋转编码器的可靠解决方案~
  • 二、Linux 系统命令
  • c++ 对象作用域
  • 代码随想录算法训练营第十九天|Day19二叉树
  • Python包——numpy2
  • 6,000 个网站上的假 WordPress 插件提示用户安装恶意软件
  • 前端 js 处理一个数组 展示成层级下拉样式
  • 理解和解决TCP 网络编程中的粘包与拆包问题
  • 【C++】创建TCP服务端