spring boot 经常使用记录

<一>. 初始化配置

 

1:初始化注解

@Configuration :标明该类使用spring基于java的配置java

@ComponentScan : 启动组件扫描,能够被注册为spring应用上下文的里bean。web

@EnableAutoConfiguration :  开启spring自动配置spring

@SpringBootApplication:开启组件扫描和 自动配置,等于@Configuration +  @ComponentScan + @EnableAutoConfiguration服务器

 

2:测试注解例子

@RunWith(SpringJUnit4ClassRunner.class)  
@SpringApplicationConfiguration(classes=ReadingListApplication.class)  
@WebAppConfiguration 
public class ReadingListApplicationTests { 
  @Test
  public void contextLoads(){    
  } 
 
  //从ReadingListApplication配置类里加载Spring应用程序上下文

}

 

 

<二>. maven配置

1:从 spring-boot-starterparent继承版本号 mvc

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

2:spring boot起步依赖app

    起步依赖本质上是一个Maven项 目对象模型(Project Object Model,POM),定义了对其余库的传递依赖。dom

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
		    <exclusion>   <!--使用exclusion排除这个依赖-->
			    <groupId>com.fasterxml.jackson.core</groupId>
			</exclusion>
		</exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

3:maven插件webapp

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

 

<三>. 经常使用,,,待补充

1: @Id     :标记的一个实体的对应的主键字段上jsp

2: @GeneratedValue(strategy=GenerationType.AUTO)    操做后自动返回主键maven

3: 在一个Bean里加载配置属性 

@Component
@ConfigurationProperties("amazon")
public class AmazonProperties {
    private String associateId;
    //经过set注入
    public void setAssociateId(String associateId) {
        this.associateId = associateId;
    }

    public String getAssociateId() {
        return associateId;
    }

}
//配置文件中对应:
//amazon.associateId= "20"

4: @Value("${test.name}")     直接获取配置文件中的值

5:@WebIntegrationTest(randomPort=true)   使用随机端口启动服务器。也能够将server.port=0

 

<四>. 测试

@RunWith的参数是SpringJUnit4ClassRunner.class,开启了Spring集成测试支持。

@ContextConfiguration指定了如何加载应用程序上下文。(不开启日志,不会加载外部属性)

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = AddressBookConfiguration.class)
public class AddressServiceTests {
    @Autowired
    private AddressService addressService;

    @Test
    public void testService() {
        Address address = addressService.findByLastName("Sheman");
        assertEquals("P", address.getFirstName());
        assertEquals("Sherman", address.getLastName());
        assertEquals("42 Wallaby Way", address.getAddressLine1());
        assertEquals("Sydney", address.getCity());
        assertEquals("New South Wales", address.getState());
        assertEquals("2000", address.getPostCode());
    }
}

须要加载外部属性能够将@ContextConfiguration替换为:@SpringApplicationConfiguration,它会开启日志和加载外部属性,因此尽可能使用@SpringApplicationConfiguration进行测试。

----------------------------------------------------------------------------------------------

五:指定视图跳转

修改application.properties文件让springmvc支持视图的跳转目录指向为/main/webapp/jsp,配置以下图11所示:

spring.mvc.view.prefix = /WEB-INF/jsp/

spring.mvc.view.suffix = .jsp

相关文章
相关标签/搜索