SpringBoot

1.自动配置

父项目
<parent>
    <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.3.4</version>
</parent>
依赖管理
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifac
 </dependency>

 

其中包含各种依赖比如mysql,用时直接引入,无需考虑版本

若想修改版本:

 

指定版本号
  <properties>
        <mysql-connector-java.version>8.0.30</mysql-connector-java.version>
 </properties>

 

  • 自动配好Tomcat
  • 自动配好SpringMVC
    • 引入SpringMVC全套组件
    • 自动配好SpringMVC常用组件(功能)
  • 自动配好Web常见功能,如:字符编码问题
    • SpringBoot帮我们配置好了所有web开发的常见场景
  • 默认的包结构
    • 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来
    • 无需以前的包扫描配置
    • 想要改变扫描路径,@SpringBootApplication(scanBasePackages="com.xiaomeng")
    • 或者@ComponentScan 指定扫描路径

注解

            @Configuration:定义为配置类。配置类本身也是组件。proxyBeanMethods:代理bean的方法,默认为True。每次创建出来的对象都是同一个。单例
            
            @Bean、@Component、@Controller、@Service、@Repository
           
            @import
           
@Import
 @Import({User.class, DBHelper.class})
 *      给容器中自动创建出这两个类型的组件、默认组件的名字就是全类名
 */
@Import({User.class, DBHelper.class})
@Configuration(proxyBeanMethods = false) //告诉SpringBoot这是一个配置类 == 配置文件
public class MyConfig {
     
         @Conditional:满足条件时,按条件注入
         
Bean TOM存在时,注入Bean
@ConditionalOnBean(name = "tom") 
   @Bean //给容器中添加组件。以方法名作为组件的id。返回类型就是组件类型。返回的值,就是组件在容器中的实例
    public User user01(){
        User zhangsan = new User("zhangsan", 18);
        //user组件依赖了Pet组件
        zhangsan.setPet(tomcatPet());
        return zhangsan;
    }

 

posted @ 2023-03-07 15:02  是小梦啊  阅读(34)  评论(0)    收藏  举报