@EnableAutoConfiguration作用:Spring Boot会自动根据你jar包的依赖来自动配置项目。
//codre @RequestMapping("/asd")
如果你不想让Spring Boot自动创建,你可以配置注解的exclude属性,例如:
@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
publicclassMyConfiguration {
}
SpringApplication.run(Application.class, args);
@ConfigurationProperties
publicclassConfig {
private String name;
privateJdbcjdbc;
class Jdbc {
private String username;
private String password;
//getter…
}
public Integer gePort(){
returnthis.port;
}
publicJdbcgetJdbc() {
returnthis.jdbc;
}
}
@ConfigurationProperties(prefix = “foo”)
@Configuration//配置类
//注意,由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解
@AutoConfigureAfter(MyBatisConfig.class)
publicFooComponentfooComponent() {
…
@Bean
}
@ResponseBody//返回json数据 @Autowired//引入bean
@Component//单独bean
@ConfigurationProperties(prefix=“person”)
publicclassConnectionSettings {
private String firstName;
}
@Transactional//事务
@Service(“HealthAgreementManager”)//业务逻辑层 @Qualifier(“springHello”)//指定bean
@Resource(name=“txManager2”)
@Transactional(isolation = Isolation.READ_UNCOMMITTED):读取未提交数据(会出现脏读,
不可重复读) 基本不使用
-
@Transactional(isolation = Isolation.READ_COMMITTED):读取已提交数据(会出现不可重复读和幻读)
@Transactional(isolation = Isolation.REPEATABLE_READ):可重复读(会出现幻读)
@Transactional(isolation = Isolation.SERIALIZABLE):串行化
1.
TransactionDefinition.PROPAGATION_SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。
2.
TransactionDefinition.PROPAGATION_NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则把当前事务挂起。
3.
TransactionDefinition.PROPAGATION_NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。
@Transactional(rollbackFor=Exception.class)
@Transactional (propagation = Propagation.REQUIRED,readOnly=true)
@Transactional (propagation = Propagation.REQUIRED,timeout=30)
@PostConstruct在构造函数之后执行,init()方法之前执行。 @PreDestroy方法在destroy()方法执行执行之后执行
//设置手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
新建一个dao接口,并添加注解@MybatisRepository
@Reference//注入到服务器 @EnableTransactionManagement//启注解事务管理,等同于xml配置方式的 <tx:annotation-driven />