1、提示
建议不要定义类时不要使用缺省包(不定义package名),可能在使用
@ComponentScan
,
@EntityScan
, or
@SpringBootApplication发生问题。
2、定位主类
1)建议放在其他应用程序之上的root包下,该类通常使用
@SpringBootApplication注解,同时也隐含定义个基础的搜索包。
3、配置类
1)建议主要的资源在一个单独的
@Configuration类,通常这个类定义main方法,作为一个好的候选配置类
2)
@Import可以导入一些附加的配置类
3)
@ComponentScan可以自动获取spring组件,包括
@Configuration
classes
4)如果使用xml配置,仍然建议使用
@Configuration类
开始,然后使用
@ImportResource
加载xml配置文件
4、自动配置
1)@EnableAutoConfiguration
or
@SpringBootApplication建议仅仅在主类追加其中一个即可。
5、禁用自动配置类
1)@EnableAutoConfiguration(
exclude={DataSourceAutoConfiguration.class})
2)如果类不在classpath中,可以只用注解的
excludeName
属性,并全限定名代替
3)也可以使用
spring.autoconfigure.exclude
属性去排除
6、spring beans和依赖注入
1)通常使用
@ComponentScan 发现bean并使用
@Autowired 去做构造注入
2)
@Component
,
@Service
,
@Repository
,
@Controller 将被自动注册为springbean
3)如果bean只有一个构造方法可以忽略
@Autowired
注解。
7、
@SpringBootApplication
相当于使用
@Configuration
,
@EnableAutoConfiguration
, and
@ComponentScan