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

相關文章
相關標籤/搜索