springboot1

1导入springboot 启动器的maven包

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  1. 新建一个主类并加上注解@SpringBootApplication

  2. SpringApplication.run(类名.class,args)

  3. resources下新建一个application.yml或者application.properties可以配置springboot

5.命令行 Tab自动补全

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.5</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

springboot的父项目

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-dependencies</artifactId>
  <version>2.4.5</version>
</parent>

springboot的爷项目

<properties>
  <activemq.version>5.16.1</activemq.version>
  <antlr2.version>2.7.7</antlr2.version>
  <appengine-sdk.version>1.9.88</appengine-sdk.version>
  <artemis.version>2.15.0</artemis.version>
  <aspectj.version>1.9.6</aspectj.version>
  <assertj.version>3.18.1</assertj.version>
  <atomikos.version>4.0.6</atomikos.version>
  <awaitility.version>4.0.3</awaitility.version>
  <bitronix.version>2.1.4</bitronix.version>

里面定义了所有默认导入项目的版本号

主程序可返回spring上下文

 ConfigurableApplicationContext run = SpringApplication.run(SpringbootStudy01Application.class, args);
        String[] beanDefinitionNames = run.getBeanDefinitionNames();
        for (String beanDefinitionName : beanDefinitionNames) {
            System.out.println(beanDefinitionName);
        }
    }

使用@ComponentScan可扫描指定包

注解@Configuration --

两种模式full模式与lite模式

告诉springboot这是一个配置类 相当于spring中的xml文件

若proxyBeanMethods=false 则容器不保留实例

注解@Bean --

给容器添加组件。以方法名作为组件的id,或者@Bean('name'),指定name一个id,返回类型就是组件的类型,返回的值就是组件在容器中的实例。实际上是调用User里的set和构造方法将User托管放到springboot上

springboot组件是默认单例模式,配置类也是一个组件,外部拿到的永远是容器中的方法!

@Controller 控制器(注入服务) 用于标注控制层,相当于struts中的action层

@Service 服务(注入dao) 用于标注服务层,主要用来进行业务的逻辑处理

@Repository(实现dao访问) 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件 .

@Component (把普通pojo实例化到spring容器中,相当于配置文件中的 )

泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类。

@Repository需要用@MapperScan扫描mapper才能注入@Bean

而@Mapper注解相当于@Repository注解+@MapperScan注解,通过xml文件下的namespace命名空间自动注入bean

ConditionalOnBean 指定如果存在tom组件下面的装配才会生效!

注解中@Component和@Bean的区别

两者的目的是一样的,都是注册bean到Spring容器中 1、@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。 2、@Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。

区别: 1、@Component(@Controller、@Service、@Repository)通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。 2、而@Bean注解通常是我们在标有该注解的方法中定义产生这个bean的逻辑。 3、@Component 作用于类,@Bean作用于方法

spring3装配 https://www.cnblogs.com/wmyskxz/p/8830632.html

@ImportResource注解导入--beans.xml

@ConfigurationProperties注解

属性一一绑定即可以直接读取application.properties里的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值