spring boot 笔记

spring boot对于简化java web开发非常有帮助,基本上不需要什么配置,就可以直接运行起来一个web服务

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.8.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
        </dependency>
    </dependencies>
上面这些配置就可以弄一个简单的rest web服务了,使用内嵌的tomcat web服务器,注意log4j的配置文件,要以log4j-spring.properties命名,放在环境变量里,就能加载到了


    -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
注意,mvn打包的时候,加上这个插件,通过添加这个build插件,才能生成可运行的程序,否则部署到机器上可能会出现找不到各种依赖的问题
直接执行mvn package就可以了!!

之前没怎么研究过spring,写的代码通常都是直接内嵌的jetty,那么如何将一个非spring项目弄成一个spring项目呢

我个人开始感到困惑的主要有几点:

1.Autowired

通常一个类中的成员,是spring帮你初始化的,并且这个类的类型通常给一个接口类放在那里,实现类如果有多个呢,spring怎么自动帮你注入?


这时候,这是因为不知道还有个东西叫Qualifier,是配合它使用的,比如一个接口类叫做Mapper


这个接口在定义的时候是不需要任何注解的,那么它的实现和引用就需要注解了,比如它有两个实现,那么为了方便引用

每个实习上分别加入这样的注解


@Service
@Qualifier("impl1")
public class MapperImpl implements Mapper {
    @Override
    public String getValue() {
        return "你妈逼!!";
    }
}

@Service
@Qualifier("impl2")
public class MapperImpl2 implements Mapper {
    @Override
    public String getValue() {
        return "我操你妈!!!";
    }
}

即通过Qualifier给每个实现起个名字,那么在注入的时候,就要用到这个东西(上面的service换成component应该也是可以的)


用的地方呢,就这样:

    @Autowired
    @Qualifier("impl2")
    private Mapper mapper;

2. spring boot 的启动入口类应该怎么放

com
    +-    example
                    +-    myproject
                                    +-    Application.java
                                    |
                                    +-    domain
                                    |            +-    Customer.java
                                    |            +-    CustomerRepository.java
                                    |
                                    +-    service
                                    |            +-    CustomerService.java
                                    |
                                    +-    web
                                                    +-    CustomerController.java

应该放在包的顶层,要不然下面的一些注解的类扫描不到,启动就会报错,当然肯定有方式指定扫描路径,不一定非得这么放,如果默认,你就要注意了。







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值